image.png

    1. package main
    2. import (
    3. "fmt"
    4. "sort"
    5. )
    6. func subSort(array []int) []int {
    7. tmp := make([]int,len(array))
    8. copy(tmp,array)
    9. sort.Slice(tmp,func(i ,j int)bool{
    10. return tmp[i]<tmp[j]
    11. })
    12. start :=-1
    13. end := -1
    14. for i :=0;i<len(array);i++{
    15. if array[i]!=tmp[i] {
    16. if start<0 {
    17. start= i
    18. }
    19. if end<i {
    20. end=i
    21. }
    22. }
    23. }
    24. return []int{start,end}
    25. }
    26. func main() {
    27. fmt.Println(subSort([]int{1,2,4,7,10,11,7,12,6,7,16,18,19}))
    28. }

    image.png