581.shortest-unsorted-continuous-subarray.go 273 B

123456789101112131415
  1. func findUnsortedSubarray(nums []int) int {
  2. n := len(nums)
  3. sorted := make([]int, n)
  4. copy(sorted, nums)
  5. sort.Ints(sorted)
  6. l, r := 0, n-1
  7. for ; l < n && nums[l] == sorted[l]; l++ {
  8. }
  9. if l == n {
  10. return 0
  11. }
  12. for ; nums[r] == sorted[r]; r-- {
  13. }
  14. return r - l + 1
  15. }