[Leetcode] Largest Number
来源:互联网 发布:手动按摩器小型淘宝 编辑:程序博客网 时间:2024/06/05 05:12
#include<bits/stdc++.h>using namespace std;class Solution {public: string largestNumber(vector<int>& nums) { vector<string> numStrs; for(auto it = nums.begin(); it != nums.end(); it++){ /*stringstream ss; ss << *it; string ns; ss >> ns; numStrs.push_back(ns);*/ ostringstream oss; oss << *it; numStrs.push_back(oss.str()); } /*sort(numStrs.begin(), numStrs.end(),[](const string& a, const string& b){ int len = min(a.length(), b.length()); int i; for(i = 0; i < len; i++){ if(a[i] == b[i]) continue; else return a[i] > b[i]; } if(i == len) return a.length() > b.length(); });*/ sort(numStrs.begin(), numStrs.end(), [](const string& a, const string& b){ string ab(a+b), ba(b+a); for(int i = 0; i < ab.length(); i++){ if(ab[i] == ba[i]) continue; return ab[i] > ba[i]; } return false; //!!这里必须有返回值,并且不能写true,否则会运行时错误!!! }); string ret; if(*numStrs.begin() == "0") //特判,如果全是0,返回0。否则会得到"00...0" return "0"; for(auto it = numStrs.begin(); it != numStrs.end(); it++){ ret += *it; } return ret; } /*string largestNumber2(vector<int>& nums) { int N = nums.size(); vector<string> numStrs(N); for(int i = 0; i < N; i++){ stringstream ss; ss << nums[i]; string ns; ss >> ns; numStrs[i] = ns; } sort(numStrs.begin(), numStrs.end(), cmp); string ret = numStrs[0]; if(ret != "0") for(int i = 1; i < N; i++) ret += numStrs[i]; return ret; } */};int main(){ Solution sol; int arr[5] = {34, 25,10, 17, 19}; cout << sizeof(arr) << endl; vector<int> var({2,2,2}); cout << sol.largestNumber(var) << endl;}
0 0
- 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
- LeetCode(179) Largest Number
- [leetcode]Largest Number
- The Right Time To Make A Career Change
- android-viewbadger为你的Android app中的view添加角标
- JAVA基础——泛型、一些常用的类
- 关于C语言中的未初始化变量的值
- 学习Java第二天
- [Leetcode] Largest Number
- EasyUI自定义边框分割线样式
- Android中SQLite应用详解
- LibreOffice SDK 开发环境配置(Windows)
- 关于EasyUI的Layout总结
- How linux uses the device tree
- annotation-config, annotation-driven, compont-scan 区别
- VS下 debug与release运行结果不一致
- Kmeans和FMC自己理解