帆布网站做哪个,定制v,制作一个网站,网站举报官网给定一个整数数组 nums#xff0c;将数组中的元素向右轮转 k 个位置#xff0c;其中 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…给定一个整数数组 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]
思路一模拟题意
c解法
class Solution {
public:void rotate(vectorint nums, int k) {int len nums.size();k k % len;int temp;for(int i 0;i(len-k)/2;i){temp nums[i];nums[i] nums[len-k-i-1];nums[len-k-i-1] temp;}for(int i 0;ik/2;i){temp nums[len-ki];nums[len-ki] nums[len-i-1];nums[len-i-1] temp;}for(int i 0;ilen/2;i){temp nums[i];nums[i] nums[len-i-1];nums[len-i-1] temp;}}};
分析
本题要求将数组中元素向右轮转k个位置可以将溢出数组长度的元素记录下来将全部元素向右转k次即可
总结
本题考察对数组的应用利用变量temp记录溢出元素后面再添加到数组中返回即可解决