当前位置: 首页 > 网络应用技术

Leetcode 581.最短的未分类连续子阵列(Python)

时间:2023-03-08 12:42:48 网络应用技术

  给定一个整数数组数字,您需要找到一个强度的子阵列,即如果您只按升序排序此子阵列,则该子将在上升的Oreder中进行排序。

  返回最短的子阵列并输出其长度。

  示例1:

  示例2:

  示例3:

  笔记:

  根据目的,给定整数数组数字,您需要找到一个连续的子阵列。如果您只排序此子阵列,则整个数组将按顺序排序。回到最短的子阵列的长度。

  如果主题中描述的中间有一个数组,根据此数组,整个数组可以分为三个部分,左,中和右。最大值大于左侧,其最大值绝对小于右侧的最小值,因此我们需要维护两个可变的最小值和最大值,然后找到最后一个小于最大的索引末端,找到最后一个索引启动大于最小,然后回答答案是开始端+1。

  在这里,您使用一些技能。当您从左到右遍历数字时,同时计算最小值和最大值,然后同时找到开始和结束。也可以两次遍历数字。多少,但是一次遍历显然会更快。

  时间复杂性为O(n),空间复杂性为O(1)。

  https://leetcode.com/prblems/shortest-nsorted-continuule-subarray/

  您的支持是我最大的动力

  原始:https://juejin.cn/post/7096652416338264094