LC *179. 最大数

2022-01-13 14:54:11 浏览数 (1)

题目

思路

这题的思想就是排序,把大数放到前面,比如2和10就是210 > 102。 然后对每个数进行比较确定每个数的位置。

sort的cmp不会写的话可以写成冒泡0.0,就是时间会很慢

代码语言:javascript复制
for (int i = 1; i < nums.size(); i  ) {
    for (int j = 0; j < i; j  ) {
        if (to_string(nums[i])   to_string(nums[j]) > to_string(nums[j])   to_string(nums[i])) {
            int temp = nums[i];
            nums[i] = nums[j];
            nums[j] = temp;
        }
    }
}
代码语言:javascript复制
class Solution {
public:
    string largestNumber(vector<int>& nums) {
        string res;
        sort(nums.begin(), nums.end(), [](int &x, int &y) {
            return to_string(x)   to_string(y) > to_string(y)   to_string(x);
        });
        if (nums[0] == 0) return "0";
        for (int i = 0; i < nums.size(); i  ) {
            res  = to_string(nums[i]);
        }
        return res;
    }
};

0 人点赞