介绍一个电影的网站模板,微信朋友圈广告推广代理,用宝塔做网站,课程网站开发与设计#x1f4da;博客主页#xff1a;爱敲代码的小杨.
✨专栏#xff1a;《Java SE语法》|《数据结构与算法》
❤️感谢大家点赞#x1f44d;#x1f3fb;收藏⭐评论✍#x1f3fb;#xff0c;您的三连就是我持续更新的动力❤️
#x1f64f;小杨水平有限#xff0c;欢…
博客主页爱敲代码的小杨.
✨专栏《Java SE语法》|《数据结构与算法》
❤️感谢大家点赞收藏⭐评论✍您的三连就是我持续更新的动力❤️
小杨水平有限欢迎各位大佬指点相互学习进步 文章目录 1. 题目描述示例1:示例2提示 2. 思路3. 代码 1. 题目描述
给定一个整数数组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] 提示 1 nums.length 105 -231 nums[i] 231 - 1 0 k 105
题目链接
2. 思路 定义n表示数组长度。 int n num.length定义数组newNums长度为n。 int[] newNums new int[n];遍历原数组将原数组下标为i对的元素放置新数组下标为(i k) % n的位置。 for(int i 0; i n; i){newNums[(i k) % n] nums[i];
}将新数组拷贝至原数组即可。 for(int j 0; j n; j){nums[j] newNums[j];
}3. 代码
class Solution {public void rotate(int[] nums, int k) {int n nums.length;int[] newNums new int[n];for(int i 0; i n; i){newNums[(i k) % n] nums[i];}for(int j 0; j n; j){nums[j] newNums[j];}}
}运行结果