首页 > 其他分享 >leetcode 581. 最短无序连续子数组 排序nlogn vs O(n)解法

leetcode 581. 最短无序连续子数组 排序nlogn vs O(n)解法

时间:2023-02-21 19:05:43浏览次数:45  
标签:nn nums int 581 high vs low nlogn size

排序O(nlogn)
之后找到第一个交换和最后交换的位置

class Solution {
public:
    int findUnsortedSubarray(vector<int>& nums) {
        vector<int> nn(nums);
        sort(nn.begin(),nn.end());
        int s = 0;
        int e = nums.size()-1;
        while( s<nums.size() && nums[s] == nn[s] ){
            s++;
        }
        while(e>=0 && nums[e] == nn[e] ){
            e--;
        }
        if( e-s+1<0 ){
            return 0;
        }else{
            return e-s+1;
        }
    }
};

leetcode 581. 最短无序连续子数组 排序nlogn vs O(n)解法_i++


https://leetcode-cn.com/problems/shortest-unsorted-continuous-subarray/comments/

class Solution {
public:
    int findUnsortedSubarray(vector<int>& nums) {
        if( nums.size()==1 ){
            return 0;
        }
        int max1 = INT_MIN;
        int min1 = INT_MAX;
        int low = nums.size()-1;
        int high = 0;
        for( int i=0;i<nums.size(); i++){
            max1 = max( max1,nums[i] );
            min1 = min( min1, nums[ nums.size()-1-i ] );
            if( nums[i] < max1 ){
                high = i;
            }
            if( nums[ nums.size()-1-i ]>min1 ){
                low = nums.size()-1-i;
            }
        }
        return high-low+1>0?high-low+1:0;
    }
};

leetcode 581. 最短无序连续子数组 排序nlogn vs O(n)解法_子序列排序_02

标签:nn,nums,int,581,high,vs,low,nlogn,size
From: https://blog.51cto.com/liyunhao/6077015

相关文章

  • pandas vs sql 基本操作对比
    作为一名数据分析师,平常用的最多的工具是SQL(包括MySQL和HiveSQL等)。对于存储在数据库中的数据,自然用SQL提取会比较方便,但有时我们会处理一些文本数据(txt,csv),这个时候......
  • 使用VS code将本地的项目推送到gitee的方法(图例)
    第一步:在gitee新建一个仓库写上基本信息,点击创建(不要勾选初始化),记住项目名称成功后的页面中,把这个项目地址复制好 第二步VScode推送至gitee   把......
  • 论今日,Vue VSCode Snippets 不进行代码提示的问题 或 vetur Request textDocument/doc
    这他喵的是因为vetur这个鬼东西升级了,然后和项目中某些包不匹配了,降级就好了,法克尤啊法克尤,我整了一天,大概是坏了吧灵感来源:https://cxymm.net/article/a843334549/1......
  • vscode常用插件
    CodeRunnerChinese(Simplified)(简体中文)LanguagePackforVisualStudioCodeBetterFilePathVeturVueLanguageFeaturesStylelintsvgTypeScriptVuePl......
  • virtual DOM VS shadow DOM
    virtualDOM在JS里头构建当前DOM树结构,然后精准计算需要更新的DOM元素,来提升性能  shadowDOM封装组件,隐藏内部的复杂DOM结构<inputtype="range"/>打开浏览器的......
  • 如何通过使用vscode工具学习ts(typescript)
    1如果有vscode工具可自行忽略这条;如果没有vscode工具,可进入官网http://vscode.p2hp.com/进行下载,下载过程可自行百度。2D盘新建文件夹随意命名为TS-LEAN,然后再【终端】......
  • 智慧农场大有可为 SkeyeVSS视频监控促进农业高质量发展
    随着国家对农业发展的重视,以及人们对粮食生产的关心,​​智慧农业​​成为当前备受关注的生态农业发展手段。如何科学种植、安全生产、智能管理是“智慧农业”这一概念需要解......
  • (2). VSCode debugger
    1.在你想要打断点的js代码处写上debugger2.运行浏览器,代码运行到debugger时候就会停下来,然后你就可以看到源码,再继续断点调试......
  • 把本地vscode项目代码传到gitee上
    一、注册好gitee二、安装好git三、在gitee上创建好仓库四、在本地做好相应工作 启动gitbash,做Git全局设置(只需做一次):设置前执行: gitconfig--list如果已经......
  • Conda+VScode配置Python开发环境
    Conda配置与常用指令1、查看conda与Python相关信息查看Python路径wherepython查看conda版本conda--version查看conda详细信息condainfo2、换源更换为清华......