博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
把数组排成最小的数
阅读量:5305 次
发布时间:2019-06-14

本文共 1262 字,大约阅读时间需要 4 分钟。

题目描述

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
 
/*对vector容器内的数据进行排序,按照 将a和b转为string后
 
若 a+b<b+a  a排在在前 的规则排序,
 
如 2 21 因为 212 < 221 所以 排序后为 21 2 
  
to_string() 可以将int 转化为string
*/
class Solution {public:    static bool cmp(int a,int b) {        string A="";        string B="";        A+=to_string(a);        A+=to_string(b);        B+=to_string(b);        B+=to_string(a);        return A
numbers) { string answer=""; sort(numbers.begin(),numbers.end(),cmp); for(int i=0;i

  

 

class Solution {public:    string PrintMinNumber(vector
numbers) {       string result;       int length=numbers.size();       if(length<=0)           return result;       stringstream stream;       //string *str=new string[length];       vector
vec;       for(int i=0;i
>str;            vec.push_back(str);            stream.clear();   //记得要清空            */        }       sort(vec.begin(),vec.end(),comp);       for(int i=0;i

  

 

class Solution {public:    string PrintMinNumber(vector
numbers) {          sort(numbers.begin(),numbers.end(),[](const int& a,const int& b){         return to_string(a)+to_string(b)

  

 

转载于:https://www.cnblogs.com/dd2hm/p/7375493.html

你可能感兴趣的文章
判断9X9数组是否是数独的java代码
查看>>
00-自测1. 打印沙漏
查看>>
UNITY在VS中调试
查看>>
SDUTOJ3754_黑白棋(纯模拟)
查看>>
Scala入门(1)Linux下Scala(2.12.1)安装
查看>>
如何改善下面的代码 领导说了很耗资源
查看>>
Quartus II 中常见Warning 原因及解决方法
查看>>
php中的isset和empty的用法区别
查看>>
Android ViewPager 动画效果
查看>>
pip和easy_install使用方式
查看>>
博弈论
查看>>
Redis sentinel & cluster 原理分析
查看>>
我的工作习惯小结
查看>>
把word文档中的所有图片导出
查看>>
浏览器的判断;
查看>>
ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
查看>>
Leetcode 589. N-ary Tree Preorder Traversal
查看>>
机器学习/深度学习/其他开发环境搭建记录
查看>>
xml.exist() 实例演示
查看>>
判断是否为空然后赋值
查看>>