zoukankan      html  css  js  c++  java
  • leetcode 179 Largest Number

    题意:给一组数,求他们连起来能连出来的最大的数。

    解法:一开始想就排一下序连在一起就好啦……结果样例就跪了……然后研究了各种排序规则……最后……我是傻蛋【手动挥手

    注意前导零什么的……真坑

    代码:

    class Solution {
    public:
        static bool cmp(string& a, string& b) {
            string ta, tb;
            ta = a + b;
            tb = b + a;
            return ta > tb;
        }
        string largestNumber(vector<int>& nums) {
            vector<string> snums;
            for(int i = 0; i < nums.size(); i++) {
                string nts;
                if(nums[i] == 0) nts += '0';
                while(nums[i]) {
                    nts += (nums[i] % 10) + '0';
                    nums[i] /= 10;
                }
                reverse(nts.begin(), nts.end());
                snums.push_back(nts);
            }
            sort(snums.begin(), snums.end(), cmp);
            string ans;
            int flag = 0;
            for(int i = 0; i < snums.size(); i++) {
                if(snums[i][0] != '0') flag = 1;
                if(snums[i][0] == '0' && !flag) continue;
                ans += snums[i];
            }
            if(ans.size() < 1) ans = "0";
            return ans;
        }
    };
    

      

  • 相关阅读:
    sql--删除
    数据库--范式
    sql语句--插入
    sql--查询
    shapefile数据文件组成
    sql---应用
    sql语句 函数
    SWIG:Simple Wrapper and Interface Generator
    职责链模式
    mybatis 装饰模式【Executor】 缓存篇
  • 原文地址:https://www.cnblogs.com/Apro/p/5197878.html
Copyright © 2011-2022 走看看