前言
好久没更新,水一题
正文
问题来源
本问题来自leetcode上的类似题。
问题描述
全排列字典序。
分析:
func reverse(arr []int, i, j int) {
for i < j {
arr[i], arr[j] = arr[j], arr[i]
i = i+1
j = j-1
}
}
func fullArray(arr []int) {
for true {
fmt.Println(arr)
i := len(arr) - 2
for ; i >= 0; i-- {
if arr[i] < arr[i+1] {
break
}
}
if i < 0 {
return
}
j := len(arr) - 1
for ; j > i; j-- {
if arr[j] > arr[i] {
break
}
}
arr[i], arr[j] = arr[j], arr[i]
reverse(arr, i+1, len(arr)-1)
}
}
总结:
勤思考。
结语
不管怎么样好好加油。