首页 > 其他分享 >163.缺失的空间

163.缺失的空间

时间:2022-12-29 19:46:51浏览次数:39  
标签:upper lower string nums vec str 空间 缺失 163

给定一个排序的整数数组 nums ,其中元素的范围在 闭区间 [lower, upper] 当中,返回不包含在数组中的缺失区间。

示例:

输入: nums = [0, 1, 3, 50, 75], lower = 0 和 upper = 99,
输出: ["2", "4->49", "51->74", "76->99"]

#include <vector>
 #include <string>
class Solution {
public:
    vector<string> findMissingRanges(vector<int>& nums, int lower, int upper) {
        vector<string> vec;
        string str="";
        //nums数组为空时,对应lower==upper和lower!=upper两种情况
        if(nums.size()==0){
            if(lower==upper) {str+=to_string(lower); vec.push_back(str); return vec;}
            str+=to_string(lower);
            str+='-';
            str+='>';
            str+=to_string(upper);
            vec.push_back(str);
            return vec;
        }
        //处理一下lower和nums[0]之间关系
        if(nums[0]!=lower) {
            if(nums[0]-1==lower) {
                str+=(to_string(lower));
                vec.push_back(str);
            }
            else {
                str+=(to_string(lower));
                str+='-';
                str+='>';
                str+=(to_string(nums[0]-1));
                vec.push_back(str);
            }
        }
        //处理nums[1]到nums[nums.size()-1]之间的关系
        for(int i=1;i<nums.size();i++){
            str="";
            if(nums[i]-nums[i-1]==1) continue;
            if(nums[i]-nums[i-1]==2) {
                str+=to_string(nums[i]-1);
                vec.push_back(str);
            }
            else{
                str+=to_string(nums[i-1]+1);
                str+='-';
                str+='>';
                str+=to_string(nums[i]-1);
                vec.push_back(str);
            }
        }
        //处理nums[nums.size()-1]到upper之间关系
        if(nums[nums.size()-1]!=upper){
            str="";
            if(nums[nums.size()-1]+1==upper) {
                str+=to_string(upper);
                vec.push_back(str);
            }
            else{
                str+=to_string(nums[nums.size()-1]+1);
                str+='-';
                str+='>';
                str+=to_string(upper);
                vec.push_back(str);
            }
        }
        return vec;
    }
};

  

class Solution:
    def findMissingRanges(self, nums: List[int], lower: int, upper: int) -> List[str]:
        vec = []
        low = lower - 1
        nums.append(upper+1)
        for num in nums:
            dis = num - low
            if dis == 2: vec.append(str(low + 1))
            elif dis > 2: vec.append(str(low + 1) + "->" + str(num - 1))
            low = num
        return vec

  

标签:upper,lower,string,nums,vec,str,空间,缺失,163
From: https://www.cnblogs.com/jianqiao123/p/17013357.html

相关文章

  • 存储空间不够大?试试华为云OBS对象存储服务
    科学技术的革新和网络时代的发展,让越来越多的音频更真实,越来越多的视频做得更加的精美,让越来越多的游戏所占的内存也变得越来越大。这也就意味着,以前我们只需要一点点空间就......
  • CodeForces 1163D Mysterious Code
    洛谷传送门CF传送门zxx的题单来的(发一个无脑kmp自动机+dp做法。看到题就很dp,考虑设计状态。显然填字母时要知道当前串与\(s,t\)的匹配位数,否则就不知道\(s,......
  • springboot mail 发送163邮件基础配置操作
    #发送邮件配置spring.mail.protocol=smtps#配置smtp服务器地址spring.mail.host=smtp.163.com#服务器的端口spring.mail.port=465#配置邮箱用户名spring.mail......
  • C#常用命名空间
    C#常用命名空间MSDN上的C#.NETFramework类库文档目录树,本人觉得有点不得要领,于是参考搜到的结果简单整理如下:一、基础命名空间System处理内建数据、数学计算、......
  • URP 空间转换函数
    模型空间转世界空间float3TransformObjectToWorld(float3positionOS)世界空间转模型空间float3TransformWorldToObject(float3positionWS)世界空间转观察空间floa......
  • Java千问10:你知道Java语言boolean类型的变量到底占多大空间吗?
    ​我们都知道,Java语言中有个boolean类型。每个boolean类型的变量中存储的是一个true或者是false的逻辑值。那么存储这个逻辑值,需要多大的空间呢?从理论上来讲,存储这个逻辑值......
  • 在k8s集群中Kubernetes仪表板dashboard使用RABC机制限制指定用户针对指定名称空间中的
    公众号关注「WeiyiGeek」本章目录:Dashboard-利用rbac机制限制指定用户针对指定名称空间中的资源进行UI管理(2)Dashboard-利用rbac机制限制指定用户针对指定名称空间中的资......
  • 如何设置交换区swap空间
    #!/bin/bashswap_file=/data/swap/swapfileswap_dir=$(dirname${swap_file})if![[-d${swap_dir}]];thenmkdir-p${swap_dir}fiif[[-f${swap_file}]];then......
  • GO 使用嵌套map应该多次分配空间
    GO使用嵌套map应该多次分配空间demopackagemainimport( "fmt")funcmain(){ //初始化一个map vartmpmap[int64]interface{} //tmp[1]="abc"//pan......
  • ubuntu扩展磁盘空间
    首先感谢这位仁兄写的教程,很详细很清晰,一步一步下来顺利扩展成功硬盘空间,为防止某天挂掉重记录下,原文地址如下:https://blog.csdn.net/Honour_Forever/article/details/116......