实现要点:
将数组按照特定规则排序,依次组合起来就是最小的数。
排序规则为 A + B < B + A时为true。

代码实现:

std::string GetMinNumber(const std::vector<int>& datas)
{if (datas.empty()) return "";std::vector<std::string> tempDatas;for (auto& curData : datas) tempDatas.push_back(std::to_string(curData));auto sortFunc = [](const std::string& left, const std::string& right) {return left + right < right + left; };std::stable_sort(tempDatas.begin(), tempDatas.end(), sortFunc);std::string minNum;for (auto& curData : tempDatas) minNum += curData;return minNum;
}

33. 把数组排成最小的数(C++版本)相关推荐

  1. 【剑指offer-Java版】33把数组排成最小的数

    把数组排成最小的数 难点在于比较规则的确定以及比较规则的正确性证明 比如:仅仅是局部的两个数字的顺序较小,如何保证整个数组按此规则进行排序后达到全局的较小 书中关于这一点的证明直接用的反证法,忘的差不 ...

  2. 剑指Offer:面试题33——把数组排成最小的数(java实现)(未完待续)

    问题描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路1: ...

  3. j剑指offer面试题[33]-把数组排成最小的数

    题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路: 可以 ...

  4. 33:把数组排成最小的数

    /*** 面试题33:把数组排成最小的数* 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.* 例如输入数组{3,32,321},则打印出这三个数字能排成的 ...

  5. 数据结构与算法--将数组排成最小的数

    将数组排成最小的数 题目:输入一个正整数的数组,将数组中所有数字拼接在一起排列成一个新的数,打印能拼接出来的所有数字中最小的一个, 案例:输入数组{12,4,55},则能打印出最小的数组是:12455 ...

  6. 面试题45. 把数组排成最小的数

    题目: 面试题45. 把数组排成最小的数 题解: 1. 题解一: 2. 题解二: * 解题思路:* 先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关 ...

  7. 《剑指offer》-- 把数组排成最小的数、丑数、二进制中1的个数、表示数值的字符串、替换空格

    一.把数组排成最小的数: 1.题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为 ...

  8. 算法:把数组排成最小的数

    * @Description 把数组排成最小的数* @问题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.* 例如输入数组{3,32,321},则打印出这 ...

  9. 【LeetCode】剑指 Offer 45. 把数组排成最小的数

    [LeetCode]剑指 Offer 45. 把数组排成最小的数 文章目录 [LeetCode]剑指 Offer 45. 把数组排成最小的数 package offer;import java.uti ...

  10. printf打印数组_(45)C++面试之把数组排成最小的数

    // 面试题45:把数组排成最小的数 // 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼 // 接出的所有数字中最小的一个.例如输入数组{3, 32, 321},则打印出这3 ...

最新文章

  1. 广州网络推广介绍有关单页面的优化技巧!
  2. 小小攻城师,步步达成梦想!
  3. arm汇编解析—qnnpack卷积实现
  4. C#数组原来这么简单,你学废了吗?
  5. 整理javascript操作文件说明.
  6. 目标检测:Segmentation is All You Need ?
  7. 优先队列实现原理分析
  8. sftp日志文件定时下载到本地文件 python 3
  9. 怎么用javascript进行拖拽[zt]
  10. 撩课-Java面试宝典-第十六篇
  11. python安装第三方库出现问题怎么办_关于Python第三方库安装失败问题的解决方案...
  12. word2vec训练维基百科中文词向量
  13. 怎样快速开发属于自己的微信小程序?
  14. excel公式编辑器_用Excel制作 “抽奖”小软件,很简单!
  15. 盘点2018年化工行业大事故!回顾那些令人心痛的瞬间......
  16. Elasticsearch ILM
  17. AD打印,只打印自己想要的层怎么设置
  18. 安防厂商网络摄像机常用rtsp地址及端口
  19. python 参加某图像去噪比赛有感
  20. 安装vs2015_community()社区版+win10,安装之后,打开项目显示不兼容,应用程序未能正确安装

热门文章

  1. 随时发生的网络攻击怎么防?这是一场网络安全的全民保卫战!
  2. Ubuntu 16.04中的Dock的应用顺序调整
  3. ubuntu下安装php环境
  4. LINQ表间关联执行分析
  5. 6.凤凰架构:构建可靠的大型分布式系统 --- 分布式共识
  6. 3.微服务:从设计到部署 --- 进程间通信
  7. 2.Jenkins 2 权威指南 --- 基础知识
  8. 8. JavaScript 全局对象
  9. [RN] React Native 使用 Redux 比较详细和深刻的教程
  10. 【linux】【git】git报错fatal: HTTP request failed