当前位置: 首页 > news >正文

leetcode Top100 189.轮转数组

题目链接:189. 轮转数组 - 力扣(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]

解题思路:把数组内的元素向右移动k个单位长度

单看 初始状态 和 最终结果  [1,2,3,4,5,6,7]  [5,6,7,1,2,3,4] 

就位置来看 初始的7 从下标为6 到下标为2 数组长度为7 可得到规律 (6+3)%7 = 9 % 7 = 2

所以 根据这个推导公式 可以得出新数组的每个位置的下标

Java代码:

class Solution3 {public void  rotate(int[] nums, int k){int n = nums.length;//数组长度int[] arr = new int[n];//创建新数组for (int i = 0; i < n; i++) {arr[(i + k) % n] = nums[i];}System.arraycopy(arr, 0, nums, 0, n);//要copy的数组 索引从0开始 长度为nums.length;}
}

相关文章:

  • Python Cookbook-7.13 生成一个字典将字段名映射为列号
  • 【学习笔记】TLS
  • 【threejs】每天一个小案例讲解:题外话篇
  • JDK 17 新特性
  • Java常见异常处理指南:IndexOutOfBoundsException与ClassCastException深度解析
  • Linux系统防火墙之iptables
  • LeetCode --- 452周赛
  • 基于FPGA的超声波显示水位距离,通过蓝牙传输水位数据到手机,同时支持RAM存储水位数据,读取数据。
  • Java八股文——并发编程「场景篇」
  • 基于n8n指定网页自动抓取解析入库工作流实战
  • Python学习(7) ----- Python起源
  • 【DAY43】复习日
  • JESD204B IP核接口实例,ADI的ADRV9009板卡,ZYNQ7045驱动实现2发2收。
  • Halo站点全站定时备份并通过邮箱存储备份
  • Polarctf2025夏季赛 web java ez_check
  • 基于51单片机的红外防盗及万年历仿真
  • 机器学习方法实现数独矩阵识别器
  • Redis——主从哨兵配置
  • 基于自适应虚拟谐波阬的光储VSG并网电流谐波抑制模型
  • LLMs 系列科普文(6)
  • 福建省建设工程继续教育网站/域名注册阿里云
  • 太原住房与城乡建设厅网站/外链seo推广
  • 建设企业功能网站/如何创建自己的网址
  • 大作设计网站是中国的吗/最近发生的热点新闻事件
  • 电子商务网站规划/江门seo
  • seo诊断书/最优化方法