剑指offer面试题33:把数组排成最小的数
2016-09-21 10:16
295 查看
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接触的所有数字中最小的一个。
思路:转为字符串,定义比较函数,使用标准库函数排序。
思路:转为字符串,定义比较函数,使用标准库函数排序。
#include <algorithm> #include <iostream> #include <sstream> #include <string> #include <vector> using namespace std; bool compare(const string &str1, const string &str2) { string s1 = str1 + str2; string s2 = str2 + str1; return s1 < s2; } void ArrayMin(vector<int> num, int length) { int i; vector<string> strnum; string s; for (i = 0; i < length; i++) { stringstream stream; stream << num[i]; stream >> s; strnum.push_back(s); } auto iter = strnum.begin(); sort(iter, iter + length, compare); for (i = 0; i < length; i++) cout << strnum[i]; cout << endl; } int main() { vector<int> num; int a; while (cin >> a) { num.push_back(a); } a = num.size(); ArrayMin(num, a); return 0; }
相关文章推荐
- 剑指Offer----面试题33:把数组排成最小的数
- 剑指Offer面试题33把数组排成最小的数,面试题34丑数
- 剑指offer-面试题33:把数组排成最小的数
- 剑指Offer面试题33(java版):把数组排成最小的数
- 剑指Offer:面试题33 把数组排成最小的数
- 【剑指Offer学习】【面试题33:把数组排成最小的数】
- 剑指Offer之面试题33:把数组排成最小的数
- 剑指offer 面试题33—把数组排成最小的数
- 剑指Offer——面试题33:把数组排成最小的数
- 【剑指Offer学习】【面试题33:把数组排成最小的数】
- 【剑指Offer】面试题33:把数组排成最小的数
- 剑指offer 面试题33 数组组合的最小数
- 剑指offer-面试题33-把数组排成最小的数
- 【剑指offer】面试题33-把数组排成最小的数
- 剑指offer--面试题33:把数组排成最小的数
- 【剑指offer】5.2时间效率——面试题33:把数组排成最小的数
- 剑指 offer——面试题8求旋转数组的最小值
- 【剑指Offer面试题】 九度OJ1504:把数组排成最小的数
- 剑指offer面试题8:旋转数组的最小数字
- 【练习笔记】剑指offer-面试题8 :旋转数组的最小数字