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

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

题目描述

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
代码:
static bool cmp(int a,int b)    {        string A = to_string(a) + to_string(b);        string B = to_string(b) + to_string(a);        return A < B;    }    string PrintMinNumber(vector
numbers) { sort(numbers.begin(),numbers.end(),cmp); string str = ""; for(int i = 0; i < numbers.size();i++) { str += to_string(numbers[i]); } return str; }

对于sort函数:sort函数对于不同的数据选择不同的排序方法。大概包括快速排序,插入排序和堆排序。比如给一个数据量较大的数组排序,开始采用快速排序,分段递归,分段之后每一段的数据量达到一个较小值后它就不继续往下递归,而是选择插入排序,如果递归的太深,他会选择推排序。

转载于:https://www.cnblogs.com/Lune-Qiu/p/9147251.html

你可能感兴趣的文章
图书管理系统【用户、购买、订单模块、添加权限】
查看>>
JavaScript30秒, 从入门到放弃之Array(六)
查看>>
RabbitMQ的安装和使用
查看>>
WebAssembly起步
查看>>
基于CentOS搭建Hexo博客--设置NexT主题及个性化定制
查看>>
百度移动端首页秒开学习
查看>>
【304天】每日项目总结系列042(2017.12.06)
查看>>
数人云|给还在犹豫选择的你,微服务架构与整体架构的各自优势
查看>>
ES6之数值的扩展
查看>>
算法之路(1) -- two sum
查看>>
JavaScript Event loop 事件循环
查看>>
TensorFlow端到端旋风教程
查看>>
【237天】网易云课堂计算机专业基础课程系列——计算机专业导论(2)
查看>>
读Zepto源码之Fx模块
查看>>
Java究极打基础之ArrayList篇
查看>>
2017-10-06 前端日报
查看>>
即时通信相关技术总结
查看>>
如何编写更好的SQL查询:终极指南-第二部分
查看>>
[React技术内幕] key带来了什么
查看>>
Vue2+VueRouter2+webpack 构建项目实战(四):接通api,渲染列表
查看>>