funcrotate(nums []int, k int){
n :=len(nums)
k = k % n
if k ==0{return}for i:=0;i<k;i++{for j:=n-1;j>0;j--{
nums[j],nums[j-1]= nums[j-1],nums[j]}}return}
利用额外数组,空间和时间复杂度都是O(N)
funcrotate(nums []int, k int){
n :=len(nums)
k = k % n
if k ==0{return}
tmp :=make([]int,n)copy(tmp,nums)for i:=0;i<n;i++{if i < k {
nums[i]= tmp[n-k+i]}else{
nums[i]= tmp[i-k]}}return}
旋转,没有额外空间,时间复杂度O(N)
funcrotate(nums []int, k int){
n :=len(nums)
k = k % n
if k ==0{return}// 整个旋转,在分别旋转前k个和后面n-k个reverse(nums)reverse(nums[:k])reverse(nums[k:])return}funcreverse(nums []int){
n :=len(nums)for i :=0;i<n/2;i++{
nums[i],nums[n-1-i]= nums[n-1-i],nums[i]}}
153. 寻找旋转排序数组中的最小值解法1,遍历,时间复杂度O(N)func findMin(nums []int) int { n := len(nums) if n == 0 { return 0 } for i:=1;i<n;i++{ if nums[i] < nums[i-1]{ ret...