zoukankan      html  css  js  c++  java
  • Leetcode228. 汇总区间

    题意

    有序序列,将每个有序小区间表示出来

    思路

    • 主要是用双指针进行模拟,每次定出有序小区间的开头和末尾,将其转换为字符串进行处理

    • ⚠️

      • 1⃣️双指针注意都不要越界访问了非法地址
      • 2⃣️小区间长度为1和不为1是用不同的字符串表示的

    代码

    class Solution {
    public:
        vector<string> summaryRanges(vector<int>& nums) {
            vector<string> ans;
            int cur1 = 0, cur2 = 0;
            while(cur1 < nums.size()){
                cur2++;
                //1.跑在前面的指针如果刚好超出,说明[cur1, nums.size() - 1]这个是一个有序小区间
                //2.或者是到了另一个有序区间的开头
                if(cur2 == nums.size() ||  nums[cur2] != nums[cur2 - 1] + 1){
                    string tmp = "";
                    if(nums[cur1] != nums[cur2 - 1]){
                        tmp += to_string(nums[cur1]);
                        tmp += "->";
                        tmp += to_string(nums[cur2 - 1]);
                        ans.emplace_back(tmp); 
                    }else{
                        tmp = to_string(nums[cur1]);
                        ans.emplace_back(tmp);ee
                    }
                    cur1 = cur2;
                    if(cur2 >= nums.size()) break;   //说明已经处理完了要退出循环
                }
            }
            return ans;
        }
    };
    
  • 相关阅读:
    Python round() 函数
    Python pow() 函数
    图像角点检测
    计算机视觉解析力
    空间点像素索引(三)
    空间点像素索引(二)
    空间点像素索引(一)
    相机标定实用方案
    摄像头的主要参数
    多篇开源CVPR 2020 语义分割论文
  • 原文地址:https://www.cnblogs.com/MartinLwx/p/14104899.html
Copyright © 2011-2022 走看看