func findUnsortedSubarray(nums []int) int { n := len(nums) sorted := make([]int, n) copy(sorted, nums) sort.Ints(sorted) l, r := 0, n-1 for ; l < n && nums[l] == sorted[l]; l++ { } if l == n { return 0 } for ; nums[r] == sorted[r]; r-- { } return r - l + 1 }