代码拉取完成,页面将自动刷新
package main
import (
"fmt"
"time"
)
func rotate(nums []int, k int) {
// k为非负数(存在为0的情况)
l := len(nums)
if k == 0 {
fmt.Println(nums)
return
} else if k > l {
return
}
// 从第0位开始调换
m := 0
a := 0
for {
time.Sleep(time.Second)
fmt.Println("开始m", m)
// 计算调换的位置
if m <= l-1-k {
// 后移的数
nums[a], nums[m+k+a] = nums[m+k+a], nums[a]
m = m + k
fmt.Println("现在(小)", nums)
fmt.Println("循环m", m)
} else {
b := m - (l - k)
fmt.Println("值", b, a, m)
if b == a {
if l/2 == k && l%2 == 0 {
fmt.Println(nums)
a++
m = 0
continue
}
break
}
if b == 0 && a >= l/4 {
break
}
nums[a], nums[b] = nums[b], nums[a]
m = b
fmt.Println("现在(大)", nums)
fmt.Println("循环m", m)
}
}
fmt.Println(nums)
}
func main() {
// fmt.Println(5 % 2)
s := []int{-1}
k := 1
rotate(s, k)
}
// func maxProfit(prices []int) int {
// begin := 0 // 开始的基数下标
// sum := 0 // 总额
// for k, v := range prices {
// if v < prices[begin] {
// // 小于的话就要切换基数
// begin = k
// continue
// } else {
// sum = sum + v - prices[begin]
// begin = k
// }
// }
// return sum
// }
// func main() {
// s := []int{1, 5, 9,6,7}
// g := maxProfit(s)
// fmt.Println(g)
// }
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。