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

leetcode 旋转数组 java

本来想用栈或者队列来解决,发现一直报k>nums.length的错。
将原数组下标为 i 的元素放至新数组下标为 (i+k)modn 的位置,最后将新数组拷贝至原数组即可。
在这里插入图片描述

class Solution {public void rotate(int[] nums, int k) {// Stack<Integer> stack = new Stack<>();// for(int num: nums){//     stack.push(num);  // 1 2 // }// int[] res = new int[nums.length];// if(k<=nums.length){//     for(int i = k-1; i>=0;i--){ // 7 6 5//     res[i] = stack.pop();//     }//     for(int i = k; i<nums.length;i++){//         res[i]=nums[i-k];//     }//     for(int i = 0; i<nums.length;i++){//        nums[i]=res[i];//     }// }else{//     for(int i = 0 ; i<nums.length;i++){//         nums[i]=stack.pop();//     }// }int n = nums.length;int[] newArr = new int[n];for (int i = 0; i < n; ++i) {newArr[(i + k) % n] = nums[i];}System.arraycopy(newArr, 0, nums, 0, n);}
}

相关文章:

  • 深度学习-mmcv中build_runner实例化全流程详解
  • 985,成立人工智能学院
  • T008-网络管理常用命令:ping,ipconfig,nslookup,route,netstat
  • upload-labs靶场通关详解:第12-13关
  • Leetcode百题斩-字典树
  • 如何在WordPress网站上添加即时聊天功能
  • 深度学习实战 04:卷积神经网络之 VGG16 复现三(训练)
  • docker 安装 Nacos
  • Linux下Docker使用阿里云镜像加速器
  • 在 JavaScript 中正确使用 Elasticsearch,第二部分
  • scNiche识别空间组细胞微环境
  • Index-AniSora模型论文速读:基于人工反馈的动漫视频生成
  • 系统思考:团队策略辅导
  • 02 if...else,switch,do..while,continue,break
  • List更简洁的编码构建
  • 基于C#的Modbus通信协议全面解析与实现指南
  • CSS 背景全解析:从基础属性到视觉魔法
  • Qt文件:XML文件
  • 使用 adb 命令截取 Android 设备的屏幕截图
  • CI/CD的演进之路
  • 欧盟宣布解除对叙利亚的经济制裁
  • 中方敦促美国停止将溯源问题政治化
  • 中国海警就菲向非法“坐滩”仁爱礁军舰运补发表谈话
  • 每日475.52元!最高检公布最新侵犯公民人身自由的赔偿金标准
  • 扬子晚报原副总编辑俞适逝世,享年89岁
  • A股高开高走:宠物经济走强,超3800股收涨,两市成交超1.1万亿元