ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

华为机试题 :最大数

华为机试题 :最大数 题目描述给定一组非负整数nums重新排列每个数的顺序每个数不可拆分使之组成一个最大的整数。由于结果可能非常大你只需要输出这个最大整数的字符串形式。输入描述第一行输入一个整数n表示数组长度。第二行输入n个非负整数。输出描述输出重新排列后能组成的最大整数。示例 1输入text3 10 2 30输出text30210说明排列为30 2 10组成30210是最大整数。示例 2输入text4 3 30 34 5 9输出text9534330C 解法cpp#include bits/stdc.h using namespace std; int main() { int n; cin n; vectorstring nums(n); for (int i 0; i n; i) cin nums[i]; sort(nums.begin(), nums.end(), [](const string a, const string b) { return a b b a; }); if (nums[0] 0) { cout 0 endl; return 0; } string ans; for (auto s : nums) ans s; cout ans endl; return 0; }
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进