zoukankan      html  css  js  c++  java
  • leetcode 228. Summary Ranges

    Given a sorted integer array without duplicates, return the summary of its ranges.

    For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"].

    Credits:
    Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

    Subscribe to see which companies asked this question

     
     
    题意不是很难,就是如果是连续的数字就用范围的形式表现出来,例如1,2,3,4写成1~4
     
    我的方法就是简单的扫描一下。
    在测试的时候,遇到两个问题:
    1.如果遇到vector的最后一个元素的话,要进行判断,否则没有“下一个”元素给你判断了。
    2. [-2147483648,-2147483647,2147483647]遇到最小的数和最大的数,我原本判断是用下一个数减当前数是否大于1,后来改成不等于1就可以AC了
    (还想了关于按位异或的方法,不过没成功,按位异或的符号是^)
     
    class Solution {
    public:
        vector<string> summaryRanges(vector<int>& nums) {
            vector<string> ret;
            int len=nums.size();
            if(len==0) return ret;
            int i=0,j=0;
            for(i=0;i<len;i++){
                stringstream ss;
                string tmp;
                ss<<nums[i];
                if(i==len-1||nums[i+1]-nums[i]>1){
                    ss>>tmp;
                    ret.push_back(tmp);
                    continue;
                }
                for(j=i;j<len;j++){
                    if(j+1<len){
                    if(nums[j+1]-nums[j]!=1) break;}
                    else {
                        ss<<"->";
                        ss<<nums[j];
                        ss>>tmp;
                        ret.push_back(tmp);
                        return ret;
                    }
                }
                ss<<"->";
                ss<<nums[j];
                ss>>tmp;
                ret.push_back(tmp);
                i=j;
            }
            return ret;
        }
    };
     
  • 相关阅读:
    BZOJ 3744 Gty的妹子序列
    BZOJ 3872 Ant colony
    BZOJ 1087 互不侵犯
    BZOJ 1070 修车
    BZOJ 2654 tree
    BZOJ 3243 向量内积
    1003 NOIP 模拟赛Day2 城市建设
    CF865D Buy Low Sell High
    CF444A DZY Loves Physics
    Luogu 4310 绝世好题
  • 原文地址:https://www.cnblogs.com/LUO77/p/5098113.html
Copyright © 2011-2022 走看看