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

[Java][Leetcode simple] 189. 轮转数组

借助辅助数组

  借助一个辅助数组tmp保存后面k个元素然后逆序循环,使用数组前面n-k个元素覆盖最后到后面最后把前k个元素从tmp中拿回来
 public void rotate(int[] nums, int k) {int len = nums.length;k = k % len;int[] Ra = new int[len];int cnt = 0;for (int i = len-k ; i < len; i++) {Ra[cnt++] = nums[i];}for (int i = len-1; i >=0 ; i--) {if(i>=k){nums[i] = nums[i-k];}else{nums[i] = Ra[i];}}}

借助数组旋转

先整体旋转
然后0~k-1旋转
最后k-n-1旋转,即可得到目标数组

    public void rotate2(int[] nums, int k) {int len = nums.length;k = k % len;reverse(nums, 0, len-1);reverse(nums, 0, k-1);reverse(nums, k, len-1);}public void reverse(int[] nums, int start, int end) {while (start < end) {int temp = nums[start];nums[start] = nums[end];nums[end] = temp;start++;end--;}}
http://www.xdnf.cn/news/5868.html

相关文章:

  • 前端-高德地图选点带搜索功能
  • hashicorp raft源码分析(一、项目介绍与Leder选举实现)
  • 猫咪如厕检测与分类识别系统系列~进阶【三】网页端算法启动架构及数据库实现
  • YOLOv5推理代码解析
  • 医院陪护服务革新:透明化监护与即时救济机制构建
  • 如何优雅的使用CMake中的FindPkgConfig模块
  • 验证回文串1
  • Linux sysvinit 系统启动
  • 【三】 空域滤波的基础与空域中的低通滤波器(2)【830数字图像处理】
  • 解构赋值
  • RuoYi 中使用 PageUtils.startPage() 实现分页查询的完整解析
  • 数字ic后端设计从入门到精通4(含fusion compiler, tcl教学)CMOS VLSI Design
  • Baumer工业相机堡盟工业相机的工业视觉是否可以在室外可以做视觉检测项目
  • 【系统架构师】2025论文《基于架构的软件设计方法》【最新】
  • telnetlib源码深入解析
  • Java面试终极篇:Sentinel+Seata+Kafka Streams高并发架构实战
  • Adobe Acrobat pro在一份PDF中插入空白页
  • 【基于ALS模型的教育视频推荐系统(Java实现)】
  • java反序列化commons-collections链6
  • 邮件营销应对高退信率的策略
  • 一键解锁嵌入式UI开发——LVGL的“万能配方”
  • AI驱动网络范式革新:Smart Switch与智能路由的协同进化
  • 《飞飞重逢》手游:暴力治疗与团队赋能的战场艺术!
  • feign.RequestInterceptor 简介-笔记
  • 深入浅出:Java 中的动态类加载与编译技术
  • 2025.5.12 APIO 模拟赛总结
  • 小结: Port Security,DHCP Snooping,IPSG,DAI,
  • python opencv 将不同shape尺寸的图片制作video视频
  • 法国蒙彼利埃大学团队:运用元动力学模拟与马尔可夫状态模型解锁 G 蛋白偶联受体构象动态机制
  • Linux 服务器用 SSH 拉取多个 Git 工程