lintcode php,c++,_在LintCode上碰到了一题largest-number,c++ - phpStudy

在LintCode上碰到了一题largest-number

给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数。

样例

给出 [1, 20, 23, 4, 8],返回组合最大的整数应为8423201。

九章算法找到的Solution如下

#include

bool cmp(const string s1, const string s2) {

return (s1 + s2) > (s2 + s1);

}

class Solution {

public:

/**

*@param num: A list of non negative integers

*@return: A string

*/

string largestNumber(vector &num) {

// write your code here

vector s_num(num.size());

stringstream stream;

for (int i = 0; i < num.size(); ++i) {

stream << num[i];

stream >> s_num[i];

stream.clear();

}

sort(s_num.begin(), s_num.end(), cmp);

string tmp_res;

for (int i = 0; i < s_num.size(); ++i) {

tmp_res += s_num[i];

}

string res;

bool flag = false;

for (int i = 0; i < tmp_res.size(); ++i) {

if (tmp_res[i] != '0') {

res.push_back(tmp_res[i]);

flag = true;

} else if (flag) {

res.push_back(tmp_res[i]);

}

}

if (!flag) res.push_back('0');

return res;

}

};

在设flag得到res那部分没看明白,

能给讲解下吗

相关阅读:

数据删除问题?

微信、支付宝的支付相关问题?

JavaScript 一个网页中可以有几个

mongodb的java开发中无法创建collection是什么原因?

前后端通信安全策略

有没有webpack的中文文档

百度地图怎样将两个地图关联起来(同步),高德也行

vuerouter的问题,单页刷新或者直接输入路径不触发 beforeEach

关于GitLab的一些问题

android中http和socket请求超时的问题

js Array sort的问题

centos 6.5图形界面登陆不进去了,是否成了肉鸡?

[求助]nodejs中如何将一个文件转为Blob binary data

Node.js中如何解决多层回调?

一个关于Laravel和ReactJS的设计问题

mongodb-mms 无法启动

异步修改页面,该页面需要跳转多个地方,如何保存?

koa怎么把co到数据放到响应体返回前台呢?

创建一个异步任务,每隔一秒打印当前时间,大家分析下这两种实现的异同吧,也可以说说自己的实现方案

RESTful中登录接口怎么命名呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值