[Leetcode] 179. Largest Number 解题报告
来源:互联网 发布:第六季网络复活赛 编辑:程序博客网 时间:2024/06/06 04:28
题目:
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.
思路:
这道题目的思路不难,主要有三个步骤:1)重写一个特殊的比较函数,使得首位越大的数字排的越靠前;2)利用步骤1)提供的比较函数进行排序;3)将排好序的数字依次转换为字符串,并且连接起来。这里需要注意一个特殊情况,就是所有数字都是0的情况,此时不能返回“00000”等样子,而要返回“0”。我原来写的比较函数有好几十行,但时候后来发现网上有同学用C++的stl提供的to_string方法,巧妙地实现了需要的功能,代码量立即下降到十行之内。
代码:
class Solution {public: string largestNumber(vector<int>& nums) { if (nums.size() == 0) { return ""; } auto cmp = [](int a, int b) { return to_string(a) + to_string(b) > to_string(b) + to_string(a); }; sort(nums.begin(), nums.end(), cmp); string ret; for (auto val : nums) { ret += to_string(val); } return ret[0] == '0' ? "0" : ret; }};
阅读全文
0 0
- [leetcode] 179. Largest Number 解题报告
- [Leetcode] 179. Largest Number 解题报告
- 【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] 179.Largest Number
- [LeetCode]179. Largest Number
- 179. Largest Number LeetCode
- leetcode 179. Largest Number
- LeetCode 179. Largest Number
- [leetcode] 179. Largest Number
- 【笔记】使用C语言编写win32平台Shellcode
- 字符编码问题
- 搭建nagios监控平台
- js 数组排除重复
- 基础篇之第一章:与JVM相关的基础知识
- [Leetcode] 179. Largest Number 解题报告
- postgresql maestro工具,插入数据字段注释
- java操作mysql的JDBC
- 微信JS_SDK使用和配置
- MatConvnet工具箱使用手册翻译理解一
- 数据预处理与特征选择
- Openstack+Ceph安装与配置(收集整理笔记)
- Python之抓取网页元素
- 大牛博客收集录