Largest Number
2016-05-24 11:33
281 查看
class Solution { public: string largestNumber(vector<int>& nums) { string s; if(nums.empty()) return s; bool flag =false; for(int i=0; i<nums.size(); ++i) { flag = false; for(int j=1; j<nums.size()-i; ++j) { if(catcmp(nums[j-1], nums[j])) { flag = true; swap(nums[j-1], nums[j]); } } if(flag == false) break; } if(nums[nums.size()-1] == 0) return "0"; for(int i=nums.size()-1; i>=0; --i) s += itos(nums[i]); return s; } string itos(int n) { string s; if(n==0) return "0"; while(n != 0) { s += n%10 +'0'; n = n/10; } int i=0, j=s.size()-1; while(i<j) { swap(s[i], s[j]); i++; --j; } return s; } bool catcmp(int n1, int n2) { if(((itos(n1)+itos(n2))> (itos(n2)+itos(n1)))) return true; else return false; } };
相关文章推荐
- 通过Ruby on Rails和docker构建微服务架构之入门教程
- ListView 源码分析
- ==和equals的区别
- jsp页面中jstl标签详解
- 再谈SOAP webservice 与 Restful webservice
- jmeter进行接口压力测试
- C语言sprintf与sscanf函数[总结]
- Core Animation -关键帧动画
- 关于java中MySQL的事务回滚
- Java网络连接之HttpURLConnection与HttpClient 区别及联系
- Node.js 简单的MySQL proxy
- handler发消息的形式
- jQuery.extend 函数详解
- javaFx中tableview使用cellfactory进行赋值的问题
- synchronize的实现原理(偏向锁)
- Android Studio中配置GreenDAO
- epoll简介
- TCP FIN_WAIT_2状态问题分析
- 高效使用Bitmaps(一) 大Bitmap的加载
- poj 3468 线段树