LeetCode-Largest Number-解题报告
来源:互联网 发布:分类信息网 软件 编辑:程序博客网 时间:2024/06/05 22:45
原题链接https://leetcode.com/problems/largest-number/
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 is9534330
.
Note: The result may be very large, so you need to return a string instead of an integer.
给定数组,返回用数组中的数组合生成的最大的数。
我们只需要进行排序就行了,我使用的最简单的冒泡排序从小到大
排序前先将数组中的数转换成string,可以使用stringstream类
对于字符串a,b
if(a+ b > b + a)return true;
else return false;
然后再将排好序的数组中的字符串逆序相加。
如果组装好的字符串的第一个字符为0,显然后面的全是0,直接返回“0”
<pre name="code" class="cpp">class Solution {public: string largestNumber(vector<int>& nums) {vector<string>snum;stringstream ss;string str;if(nums.empty())return "";for (auto &a : nums){ss.clear();ss << a;getline(ss, str);snum.push_back(str);}for (int i = 0; i < snum.size(); ++i){for (int j = i + 1; j < snum.size(); ++j){if (cmp(snum[i], snum[j]))swap(snum[i], snum[j]);}}str = "";for (auto it = snum.rbegin(); it != snum.rend(); ++it)str += *it; if(str[0] == '0')return "0";return str;}void swap(string& a, string& b){string t = a;a = b;b = t;}bool cmp(const string& a, const string& b){string t1 = a + b;string t2 = b + a;if (t1 > t2)return true;else return false;}};
0 0
- 【LeetCode】Largest Number 解题报告
- 【LeetCode】Largest Number 解题报告
- 【LeetCode】Largest Number 解题报告
- [LeetCode]Largest Number, 解题报告
- LeetCode-Largest Number-解题报告
- 【LeetCode】Largest Number 解题报告
- leetcode 179 Largest Number 解题报告
- 【LeetCode #179】Largest Number 解题报告
- [leetcode] 179. Largest Number 解题报告
- [Leetcode] 179. Largest Number 解题报告
- [LeetCode] Largest Rectangle in Histogram 解题报告
- [LeetCode]Largest Rectangle in Histgram,解题报告
- [LeetCode] Largest Rectangle in Histogram 解题报告
- [leetcode] 333. Largest BST Subtree 解题报告
- [leetcode] 368. Largest Divisible Subset 解题报告
- [Leetcode] 333. Largest BST Subtree 解题报告
- [Leetcode] 368. Largest Divisible Subset 解题报告
- [Leetcode] 479. Largest Palindrome Product 解题报告
- ubuntu下安装XAMPP
- Quartz2D Paths 重要属性
- Timer的用法
- How to pass QEMU command-line options through libvirt
- Caffe+Ubuntu14.04+CUDA6.5新手安装配置指南
- LeetCode-Largest Number-解题报告
- Google Guava 类库简介
- 【swift-总结】结构体和类
- Linux 的虚拟文件系统(强烈推荐)
- 【数组】合并有序数列
- 滚动页面时DIV到达顶部时固定在顶部(jq实现)
- hdu 5224 Tom and paper
- linux下read系统调用剖析
- 9个优秀网上免费标签云生成工具