商丘住房和城乡建设网站,网站建设佰金手指科捷一,桂林论坛爆料,如何进行外贸网站建设581. 最短无序连续子数组
给定一个整数数组#xff0c;你需要寻找一个连续的子数组#xff0c;如果对这个子数组进行升序排序#xff0c;那么整个数组都会变为升序排序。
你找到的子数组应是最短的#xff0c;请输出它的长度。
示例 1:
输入: [2, 6, 4, 8, 10, 9, 15] …581. 最短无序连续子数组
给定一个整数数组你需要寻找一个连续的子数组如果对这个子数组进行升序排序那么整个数组都会变为升序排序。
你找到的子数组应是最短的请输出它的长度。
示例 1:
输入: [2, 6, 4, 8, 10, 9, 15] 输出: 5 解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序那么整个表都会变为升序排序。 说明 :
输入的数组长度范围在 [1, 10,000]。 输入的数组可能包含重复元素 所以升序的意思是。
Code
func findUnsortedSubarray(nums []int) int {var m,n intvar min, max intmin 1 63 - 1max -1 63for i:1; ilen(nums); i {if nums[i-1] nums[i] {if nums[i] min {min nums[i]}}}for i:len(nums)-2; i0; i-- {if nums[i] nums[i1] {if nums[i] max {max nums[i]}}}if max -1 63 min 1 63 -1 {return 0}for k, v : range nums {if v min {m kbreak}}for i:len(nums)-1; i0; i-- {if nums[i] max {n ibreak}}return n - m 1
}