LeetCode() Largest Number
全排列,超时,知道超时,只是想验证一下。
class Solution {
public:
string largestNumber(vector<int>& nums) {
sort(nums.begin(),nums.end());
string res="";
res=f(nums);
while(next_permutation(nums.begin(),nums.end())){
if(res<f(nums))
res=f(nums);
}
return res;
}
string f(vector<int>& coll){
string res;
for(int i=0;i<coll.size();++i){
ostringstream sss;
sss<<coll[i];
res+=sss.str();
}
return res;
}
};
en ,这个也不对
class Solution {
public:
string largestNumber(vector<int>& nums) {
vector<string> coll;
for(int i=0;i<nums.size();++i){
ostringstream sss;
sss<<nums[i];
coll.push_back(sss.str());
}
sort(coll.begin(),coll.end());
string res="";
for(int i=coll.size()-1;i>=0;--i)
res+=coll[i];
return res;
}
};
事实证明,过了点不吃饭真的很危险,又低血糖了。
class Solution {
public:
string largestNumber(vector<int>& nums) {
vector<string> coll;
for(int i=0;i<nums.size();++i){
ostringstream sss;
sss<<nums[i];
coll.push_back(sss.str());
}
string res="";
auto ite=coll.begin();
sort(ite,ite+coll.size(),c);
for(int i=coll.size()-1;i>=0;--i)
res+=coll[i];
if(res[0] == '0')
return "0";
return res;
}
static bool c(const string a,const string b)
{
string ab=a+b;
string ba=b+a;
return ab<ba;
}
};
更精简的
class Solution { public: string largestNumber(vector<int>& nums) { sort(nums.begin(), nums.end(), [](const int& lhs, const int & rhs){return to_string(lhs) + to_string(rhs) > to_string(rhs) + to_string(lhs);}); if (nums[0] == 0) return "0"; return accumulate(nums.begin(), nums.end(), string(""), [](const string& a, int b){ return a + to_string(b);}); } };
LeetCode() Largest Number的更多相关文章
- [LeetCode] Largest Number 最大组合数
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...
- Leetcode Largest Number c++ solution
Total Accepted: 16020 Total Submissions: 103330 Given a list of non negative integers, arrange t ...
- LeetCode: Largest Number 解题报告 以及Comparator, CompareTo 应用
Largest Number Given a list of non negative integers, arrange them such that they form the largest n ...
- LeetCode——Largest Number
Description: Given a list of non negative integers, arrange them such that they form the largest num ...
- [LeetCode] Largest Number 排序
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...
- [LeetCode] Largest Number At Least Twice of Others 至少是其他数字两倍的最大数
In a given integer array nums, there is always exactly one largest element. Find whether the largest ...
- JavaScript中sort方法的一个坑(leetcode 179. Largest Number)
在做 Largest Number 这道题之前,我对 sort 方法的用法是非常自信的.我很清楚不传比较因子的排序会根据元素字典序(字符串的UNICODE码位点)来排,如果要根据大小排序,需要传入一个 ...
- Leetcode:Largest Number详细题解
题目 Given a list of non negative integers, arrange them such that they form the largest number. For e ...
- [LeetCode][Python]Largest Number
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com'https://oj.leetcode.com/problems/largest ...
随机推荐
- curl方法post一个数组
$r = $this->curl_post($url, $data);$list = json_decode($r,true); function curl_post($url = '', ...
- display:inline-block 和float:left 的区别
display:inline-block 和float:left 的区别 display是指显示状态,float是针对块级元素的浮动. 使用inline-block:控制元素的垂直对齐跟横向排列元 ...
- AVAudioSession 音频会话
http://blog.csdn.net/kingshuo7/article/details/42588191 这里面总结的不错https://segmentfault.com/a/11900000 ...
- join()方法之我见
JavaScript join() 方法 定义和用法 join() 方法用于把数组中的所有元素放入一个字符串. 元素是通过指定的分隔符进行分隔的. 语法 arrayObject.join(separa ...
- $("").click与onclick的区别
onclick是绑定事件,click本身是方法作用是触发onclick事件,只要执行了元素的click()方法,下面示例 Html代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- apicloud 解析
function jiexi(id) { var getTabBarActivityUrl = '/QuestionReport?filter='; var urlParam = {}; ajaxRe ...
- JQuery的一些简单操作02
一.遍历 1.向下遍历,children.find children只能向下遍历儿子节点的所有元素,find遍历当前元素下面的所有子节点 2.向上遍历,parent,parents,parentsUn ...
- 使用Java代码实现对宽带的连接
对于多个类似的用户名相同的密码,运行java代码实现对宽带的自动连接 这是源代码: import java.io.BufferedReader; import java.io.IOException; ...
- initcall调用顺序
在解释initcall调用顺序, 先要理一下编译链接的知识. 每个.o文件都有自己的代码段, 数据段(存放初始化的全局变量), bss段(即未初始化的数据段) 在ld链接器将各.o文件的代码段和数据段 ...
- 用nodejs实现json和jsonp服务
一.JSON和JSONP JSONP的全称是JSON with Padding,由于同源策略的限制,XmlHttpRequest只允许请求当前源(协议,域名,端口)的资源.如果要进行跨域请求,我们可以 ...