[leetcode]189. 轮转数组
文章目录
题目
给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。
- 示例 1:
输入: nums = [1,2,3,4,5,6,7], k = 3 输出: [5,6,7,1,2,3,4]
解释:
向右轮转 1 步: [7,1,2,3,4,5,6]
向右轮转 2 步: [6,7,1,2,3,4,5]
向右轮转 3 步: [5,6,7,1,2,3,4]
- 示例 2:
输入:nums = [-1,-100,3,99], k = 2 输出:[3,99,-1,-100]
解释:
向右轮转 1 步: [99,-1,-100,3]
向右轮转 2 步: [3,99,-1,-100]
解题思路
- 处理轮转次数: 如果 k 大于数组长度 n,可以通过 k = k % n 来简化轮转次数,因为每 n 次轮转数组会回到原来的状态。
- 反转数组: 反转整个数组。 反转前 k 个元素。 反转后 n-k 个元素。
代码实现
|
|
文章作者 楼度笔墨
上次更新 2024-10-16