45剑指OFFER之把数组排成最小的数

参考资料:

[1]乒乓的回答。
https://www.nowcoder.com/profile/4163181/codeBookDetail?submissionId=15577844
[2]C++中string的排序标准

关键词:

to_string()、比较标准

思路:
自己的答案:
class Solution {
public:
    string PrintMinNumber(vector<int> numbers) {
        
        //自己定义排序标准
        string C = "";
        sort(numbers.begin(),numbers.end(),cmp);
        for(int i=0;i<numbers.size();i++)
        {
            C+=to_string(numbers[i]);
        }
        return C;
    }
    
    static bool cmp(int num1,int num2)
    {
        string A = "";
        string B = "";
        A+=to_string(num1);
        A+=to_string(num2);
        B+=to_string(num2);
        B+=to_string(num1);
        return A<B;
    }
};
标准答案:
class Solution {
public:
    string PrintMinNumber(vector<int> numbers) {
        
        //步骤1:按某个规则进行排序
        sort(numbers.begin(),numbers.end(),cmp);
        //步骤2:把数组写出来
        string C = "";//输出的字符串
        for(int i=0;i<numbers.size();i++)
        {
            C+=to_string(numbers[i]);
        }
        return C;
    }
    
    static bool cmp(int a,int b)
    {
        string A = "";
        string B = "";
        A+=to_string(a);
        A+=to_string(b);
        B+=to_string(b);
        B+=to_string(a);
        
        return A<B;//true的话,a,b不动,false的话,a,b互换。
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 听说别人的16岁些许心酸加倔强 现在都能把那些想哭的事笑着说出来 我们真棒 人生总是如此艰难 别人也一样 只是她们...
    饭粒呀咪阅读 367评论 1 1
  • 离过年越来越近,工作不再是简单重复地工作,每天都是应对和处理各种情况,感觉心神不宁。没有目标没有想法,工作寡味。这...
    qiuqiuyu阅读 229评论 0 1
  • 正式入坑一个月,妥妥的新生,但其实已经潜伏了数年,先总体描述一下曾经的经历。 从小就喜欢写日记,经常扯来一张纸随便...
    神烦阅读 415评论 0 1
  • 1、检查IP地址是否能ping通; 2、新建文件夹(可以命名为scan),共享文件夹,检查文件夹权限及网络发现; ...
    中元九三阅读 5,987评论 0 1
  • 小结 - 上学;休息,跳1500,读书,值日,练琴,写作业。 明日计划 - 乐队,上学,读书;跳1500,读书,练...
    301Cl阅读 227评论 1 1

友情链接更多精彩内容