zoukankan      html  css  js  c++  java
  • Largest Number || LeetCode

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAX 1000
    int cmp(char *s1,char *s2){
        char temp1[100];
        char temp2[100];
        strcpy(temp1,s1);
        strcat(temp1,s2);
        strcpy(temp2,s2);
        strcat(temp2,s1);
        if(strcmp(temp1,temp2)<0)return 1;
        else return 0;
    }
    char* into_string(int n){
        char *p;
        p=(char*)malloc(50*sizeof(char));
            sprintf(p,"%d",n);
        return p;
    }
    char* largestNumber(int* nums, int numsSize) {
        char re[100][100];
        char temp[100];
        char *p;
        int  i,j;
        p=(char*)malloc(MAX*sizeof(char));
        for(i=0;i<numsSize;i++)strcpy(re[i],into_string(nums[i]));
        for(i=0;i<numsSize;i++){   //用的冒泡,不好意思@@ 虽然这是这题的核心算法,思想就是判断两个字串要不要交换位置的条件是,将这两个字串分别以两种方式拼接,再比较哪一                  //种拼接更优
            for(j=i+1;j<numsSize;j++)
            if(cmp(re[i],re[j])){
                strcpy(temp,re[i]);
                strcpy(re[i],re[j]);
                strcpy(re[j],temp);
           } 
        }
        for(i=0,p[0]='';i<numsSize;i++)
        strcat(p,re[i]);
        while(*p=='0')p++;
        if(*p=='')return "0";
        return p;
    }
  • 相关阅读:
    vue 使用sass 和less
    生命周期函数以及vue的全局注册
    vue-router的简单实现原理
    vue的三种传参方式
    配置router列表
    vue传参二
    Gym 101933E(状态压缩+记忆化搜索)
    Gym 101933 A(dp)
    Gym 101775H(dp)
    Gym 101775 D (思维)
  • 原文地址:https://www.cnblogs.com/ProtectedDream/p/4544095.html
Copyright © 2011-2022 走看看