【leetcode】Largest Number --C++
来源:互联网 发布:python哪些教程比较好 编辑:程序博客网 时间:2024/06/10 22:45
class Solution {public: string largestNumber(vector<int>& nums) { //第一步,把nums转换成string vector<string> svec; for(int i = 0;i != nums.size();++i) { svec.push_back(to_string(nums[i])); } //第二步,用系统自带的sort排序,不过我们要自己提供cmp函数(static) sort(svec.begin(),svec.end(),cmp); string s; //第三步,把sort后的string 链接起来 for(int i = 0;i != svec.size();++i) s += svec[i]; //第四步,去掉特殊的情况开始为零的情况 if(s[0] == '0' && s.size() > 0) s = "0"; return s; } static bool cmp(const string &s1,const string &s2) { string tmp1(s1+s2); string tmp2(s2+s1); return tmp1 > tmp2; }};最后一点要注意的就是:里面的数字全是零的情况下,不是输出000.。。。而是输出 “0”。
Given a list of non negative integers, arrange them such that they form the largest number.
For example, given [3, 30, 34, 5, 9]
, the largest formed number is 9534330
.
Note: The result may be very large, so you need to return a string instead of an integer.
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
给一个数组,里面都是非负数,然后找出这些书可以组成的最大数。
这是剑指offer中的一道题。其思想是利用字符串的比较,例如 3,30 可以组成的最大数为330,而不是303,也就是 S1,S2可以组成:S1S2,S2S1,比较这两个哪个比较大,也就是字符串的排序。
还有就是,C++中的int转string
string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string (unsigned long val);string to_string (unsigned long long val);string to_string (float val);string to_string (double val);string to_string (long double val);
0 0
- 【C++】LeetCode 179. Largest Number
- LeetCode 之Largest Number(C++)
- Largest Number @leetCode
- LeetCode : Largest Number
- Leetcode Largest Number
- [LeetCode] Largest Number
- [leetcode]179 Largest Number
- [LeetCode] Largest Number
- Leetcode Largest Number
- [LeetCode]Largest Number
- leetcode 179: Largest Number
- 【LeetCode】Largest Number
- 【Leetcode】Largest Number
- [LeetCode]179.Largest Number
- LeetCode: Largest Number
- Largest Number|leetcode解决方案
- leetcode 之Largest Number
- [leetcode] Largest Number
- 黑马程序员——ios开发基础之C语言之进制转换、位运算与内存管理
- Java中equals和==的区别
- 常见协议解析
- URLConnection
- 计算2点之间的距离
- 【leetcode】Largest Number --C++
- 黑马程序员——ios基础---练习:1
- "catalog" 与 "category" 的区别
- redis常用命令、常见错误、配置技巧
- 黑马程序员——TCP协议传输(下)
- SOA工程部署时报错:MDS-00054 (composite.xml does not exist)
- 黑马程序员——ios开发基础之C语言预处理命令与文件操作
- ‘tools.jar’ seems to be not in Android Studio classpath解决方法
- 《剑指offer》连续子数组的最大和