• 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;
        }
    };
     
  • 相关阅读:
    jsp页面间传递参数 中文乱码问题(zz)
    java 生成xml
    java dom4j 解析xml
    生成不重复的32为随机码
    [HYSBZ
    七夕祭
    [CF741D] Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
    Baltic2014 sequence
    [洛谷P2459] SDOI2011 消耗战
    [洛谷P4172] WC2006 水管局长
  • 原文地址:https://www.cnblogs.com/LUO77/p/5098113.html
Copyright © 2020-2023  润新知