【LeetCode】【HOT】581. 最短无序连续子数组

文章目录

  • 【LeetCode】【HOT】581. 最短无序连续子数组

package hot;public class Solution581 {public static void main(String[] args) {int[] nums = {2,6,4,8,10,9,15};Solution581 solution = new Solution581();System.out.println(solution.method(nums));}private int method(int[] nums) {int n = nums.length;int maxn = Integer.MIN_VALUE;int minn = Integer.MAX_VALUE;int l = -1;int r = -1;for (int i = 0; i < n; i++) {if (maxn > nums[i]) {r = i;} else {maxn = nums[i];}if (minn < nums[n - i - 1]){l = n - i -1;}else{minn = nums[n - i - 1];}}return r == -1 ? 0 : r - l + 1;}
}//时间复杂度为 O(n)
//空间复杂度为 O(1)

【LeetCode】【HOT】581. 最短无序连续子数组相关推荐

  1. LeetCode 581. 最短无序连续子数组(Shortest Unsorted Continuous Subarray)

    581. 最短无序连续子数组 581. Shortest Unsorted Continuous Subarray 题目描述 给定一个整型数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序 ...

  2. Leetcode 581.最短无序连续子数组

    最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 你找到的子数组应是最短的,请输出它的长度. 示例 1: 输入: [2, ...

  3. 581. 最短无序连续子数组 golang

    581. 最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 你找到的子数组应是最短的,请输出它的长度. 示例 1: 输入: ...

  4. 581. 最短无序连续子数组

    给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 请你找出符合题意的 最短 子数组,并输出它的长度. 示例 1: 输入:nums ...

  5. 【LeetCode笔记】581. 最短无序连续子数组(Java、数组)

    文章目录 题目描述 思路 && 代码 1. 排序法 O(nlogn).O(n) 2. 记录 max[ ].min[ ] 的写法 O(n).O(n) 3. 记录 max.min 的写法 ...

  6. 最短无序连续子数组—leetcode581

    给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 你找到的子数组应是最短的,请输出它的长度. 示例 1: 输入: [2, 6, 4, 8, 1 ...

  7. LeetCode 581. 最短无序连续子数组 (unfinished 排序+双指针)

    581. 最短无序连续子数组 class Solution {public:int findUnsortedSubarray(vector<int>& nums) {vector& ...

  8. LeetCode 581. 最短无序连续子数组(排序单调栈)

    文章目录 1. 题目 2. 解题 2.1 排序 2.2 4次遍历 2.3 单调栈 1. 题目 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. ...

  9. leetcode 581. 最短无序连续子数组(详解普通 / 进阶 / 单调栈解法,Java版)

    题目 题解 方法1(暴力排序):时间复杂度O(nlogn),空间复杂度O(n) 一个简单的想法是:将数组 nums 进行排序,记为 nums_sorted .然后比较 nums 和 nums_sort ...

最新文章

  1. 【视频课】一课彻底掌握深度学习人脸图像算法,长期更新
  2. 电气论文实现:电力网络之 通过计算机得到电力网络节点阻抗矩阵(matlab)
  3. iOS之深入解析消息转发objc_msgSend的应用场景
  4. LeetCode371——Sum of Two Integers(不用+)
  5. Inline Method(内联函数)
  6. Gitlab管理Create Merge Request,new Merge Request创建合并请求
  7. 特定条件下的技术团队绩效考核
  8. js中将字符串作为函数名来调用的方法
  9. C++项目经验(6)——yaml-cpp的安装、报错解决及使用
  10. java迷宫算法_迷宫算法(JAVA实现)
  11. 分布式文件系统MinIO
  12. python怎么找出最大数,python怎么找出最大数
  13. 本周最新文献速递20211226
  14. 元宇宙产业委通过央链直播召开第十次新闻通报会:第十一批入会成员名单公布
  15. 我在51CTO微职位学软考——东隅已逝,桑榆非晚
  16. Android Studio 布局 - ScrollView和HorizontalScrollView
  17. 桂林银行携手华为,做“好山水”里的“好银行”
  18. 什么是网关,及其作用 (转载)
  19. 发明专利申请的必要条件
  20. Dynamic ARP Inspection

热门文章

  1. dubbo内置哪几种服务容器_Dubbo服务提供者几种启动方式
  2. 第1章 程序设计和C语言
  3. 如何在idea中调试spring bean
  4. 转载:手写SpringMVC框架
  5. 5、ABPZero系列教程之拼多多卖家工具 修改User表结构
  6. python文本进度条代码解释_python动态文本进度条的实例代码
  7. 用户态程序阻塞原因_进程阻塞 操作系统某种情况进行进程的阻塞和唤醒操作...
  8. ElasticSearch核心基础之映射
  9. (5)ZYNQ FPGA中断介绍
  10. pcb封装lib文件转pads_想做PCB达人?掌握这些PCB主流软件很关键!