当前位置: 首页> 教育> 培训 > 亚马逊网站域名_自适应门户网站模板_百度网首页_学百度推广培训

亚马逊网站域名_自适应门户网站模板_百度网首页_学百度推广培训

时间:2025/7/24 6:58:13来源:https://blog.csdn.net/m0_63680328/article/details/142469846 浏览次数:0次
亚马逊网站域名_自适应门户网站模板_百度网首页_学百度推广培训

题目 

​​​​​​轮转数组

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

思路

  • 创建辅助数组

    • 你创建了一个长度和 nums 一样的辅助数组 n,用来存储轮转后的结果。
    • n = [0] * len(nums) 初始化一个全为 0 的新数组 n
  • 处理 k

    • 如果 k 大于数组长度 len(nums),你用 k = k % len(n) 来处理,避免轮转次数超出数组长度。这一步是必要的,因为轮转 len(nums) 次后数组会回到原始状态。
  • 将最后 k 个元素放到辅助数组的开头

    • 通过 n[i] = nums[len(nums) - k + i],你把 nums 中从倒数第 k 个开始的元素存放到辅助数组的前 k 个位置。
  • 将剩余的元素移动到辅助数组的后面

    • 接下来,通过 n[i] = nums[i - k],你把数组剩余的元素移动到辅助数组中。
  • 将辅助数组拷贝回原数组

    • 最后,你通过 nums[i] = n[i] 将辅助数组 n 的值拷贝回 nums 中,完成数组的轮转。

代码

class Solution:def rotate(self, nums: List[int], k: int) -> None:n=[0]*len(nums)if k>len(n):k=k%len(n)for i in range(k):n[i]=nums[len(nums)-k+i]for i in range(k,len(nums)):n[i]=nums[i-k]for i in range(len(n)):nums[i]=n[i]

关键字:亚马逊网站域名_自适应门户网站模板_百度网首页_学百度推广培训

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: