func maxChunksToSorted(arr []int) int {
// 处理边界条件
if len(arr) == 0 {
return 0
}
// 设置最右边的值
right := arr[0]
// 设置计数指针
num := 0
for i := 0;i < len(arr);i++ {
// 寻找right和arr[i]的最大值(就是right)
right = int(math.Max(float64(arr[i]),float64(right)))
// 这个条件就是当right等于i的时候就是OK的
// 如果不等于那么分配好的再分配也是无法排序的。
if right == i {
num ++
}
}
return num
}