博客
关于我
算法——179、最大数(力扣)
阅读量:659 次
发布时间:2019-03-14

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

在解决这个问题时,我们需要将所有的数字组合在一起,然后通过字符串拼接的方式进行比较,最终得到一个最大的数字。这种方法可以利用字符串的便利性来处理不定长的数字问题。

我们可以通过以下步骤来实现这一目标:

  • 为每个数字创建字符串表示:

    • 遍历数字列表,将每个数字转换为字符串形式,这样可以便于后续的比较和拼接操作。
  • 比较字符串拼接的结果:

    • 对于每两个字符串,比较它们的两种拼接顺序(AB 和 BA),选择较大的顺序添加到结果中。
  • 优化字符串的顺序:

    • 因此字符串连接起来形成最大的数。
  • 具体实现代码如下:

    #include 
    #include
    #include
    using namespace std;string largestNumber(vector
    & nums) { vector
    tar; for (size_t i = 0; i < nums.size(); ++i) { string target; int num = nums[i]; if (num == 0) { tar.push_back("0"); continue; } int k = 1; while (k <= num) { k *= 10; } int power = 1; while (power <= num) { power *= 10; } power /= 10; while (power > 0) { target += ('0' + (num % power)); num /= power; power /= 10; } tar.push_back(target); } for (size_t i = 0; i < tar.size() - 1; ++i) { for (size_t j = i + 1; j < tar.size(); ++j) { if (tar[i] + tar[j] < tar[j] + tar[i]) { swap(tar[i], tar[j]); } } } if (tar.empty()) { return "0"; } string result; for (const auto& s : tar) { result += s; } return result;}

    这个方法通过比较每两个字符串拼接的结果,选择最大的顺序,最终得到最大的数字拼接结果。这样,我们就可以将所有的数字有效地组合起来,得到一个最大的数值。

    转载地址:http://tfeoz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现3n+1猜想(附完整源码)
    查看>>
    Objective-C实现3n+1猜想(附完整源码)
    查看>>
    Objective-C实现9x9乘法表算法(附完整源码)
    查看>>
    Objective-C实现9×9二维数组数独算法(附完整源码)
    查看>>
    Objective-C实现A*(A-Star)算法(附完整源码)
    查看>>
    Objective-C实现A-Star算法(附完整源码)
    查看>>
    Objective-C实现abbreviation缩写算法(附完整源码)
    查看>>
    Objective-C实现ABC人工蜂群算法(附完整源码)
    查看>>
    Objective-C实现activity selection活动选择问题算法(附完整源码)
    查看>>
    Objective-C实现AC算法(Aho-Corasick) 算法(附完整源码)
    查看>>
    Objective-C实现adaboost算法(附完整源码)
    查看>>
    Objective-C实现Adler32算法(附完整源码)
    查看>>
    Objective-C实现AES算法(附完整源码)
    查看>>
    Objective-C实现AffineCipher仿射密码算法(附完整源码)
    查看>>
    Objective-C实现aliquot sum等分求和算法(附完整源码)
    查看>>
    Objective-C实现all combinations所有组合算法(附完整源码)
    查看>>
    Objective-C实现all permutations所有排列算法(附完整源码)
    查看>>
    Objective-C实现all subsequences所有子序列算法(附完整源码)
    查看>>
    Objective-C实现AlphaNumericalSort字母数字排序算法(附完整源码)
    查看>>
    Objective-C实现alternate disjoint set不相交集算法(附完整源码)
    查看>>