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

【leetcode hot 100 189】轮转数组

错误解法一:申请一个数组,第i个数放在新数组的i+ki+k-nums.length

class Solution {
    public void rotate(int[] nums, int k) {
        int[] results=new int[nums.length];
        for(int i=0; i<nums.length; i++){
            if(i+k<nums.length){
                results[i+k] = nums[i];
            }
            else{
                results[i+k-nums.length] = nums[i];
            }
        }
        for(int i=0; i<nums.length; i++){
            nums[i] = results[i];
        }
    }
}

错误原因:未考虑旋转次数>数组大小

在这里插入图片描述

错误解法二:进行k次旋转,每一次保存最后一个数,所有数往后移后,将保存的数放在第一位

class Solution {
    public void rotate(int[] nums, int k) {
        int i=0;
        while(i<k){
            // 第i+1次旋转
            int last=nums[nums.length-1];
            for(int j=nums.length-1;j>0;j--){
                nums[j]=nums[j-1];
            }
            nums[0]=last;
            i++;
        }
    }
}

错误原因:超出时间限制

在这里插入图片描述

解法一:(改进错误解法一)第i个数放在新数组的i+k(i+k)%nums.length

class Solution {
    public void rotate(int[] nums, int k) {
        int[] results=new int[nums.length];
        for(int i=0; i<nums.length; i++){
            if(i+k<nums.length){
                results[i+k] = nums[i];
            }
            else{
                results[(i+k)%nums.length] = nums[i];
            }
        }
        for(int i=0; i<nums.length; i++){
            nums[i] = results[i];
        }
    }
}

相关文章:

  • ChatVLA:基于视觉-语言-动作模型的统一多模态理解与机器人控制
  • (2025)Unity调用DeepSeek API (兼容OpenAI SDK)
  • 在Windows实现将Docker Desktop安装至非系统盘(2025年3月测试有效)
  • Kmeans算法来实现RFM指标计算步骤
  • 算法 并查集
  • Axure原型模板与元件库APP交互设计素材(附资料)
  • Bitmap -> Bitmap安卓设备上的显示和内存
  • 汽车轮胎损伤缺陷分割数据集labelme格式1957张3类别
  • iOS安全和逆向系列教程 第1篇: iOS逆向工程概述与学习路线图
  • 第七章:项目实战 - 第四节 - Tailwind CSS 移动端适配实践
  • 计算机毕业设计SpringBoot+Vue.js装饰工程管理系统(源码+文档+PPT+讲解)
  • 算数操作符、赋值操作符、单目操作符、强制类型转换
  • 五、Redis 持久化:RDB 与 AOF 深入解析与优化策略
  • linux一些使用技巧
  • Rust 入门+语法详解+Windows 下 Cursor AI辅助开发
  • Linux中死锁问题的探讨
  • 【C语言】结构体自动对齐问题 解析与解决方案
  • Halcon 车牌识别-超精细教程
  • 第四章 STM32 Flash
  • Vue2 + Quill富文本编辑器
  • 域名备案与网站备案的区别/威海网站制作
  • 河北平台网站建设/seo研究协会
  • 网站开发接私单/软文模板
  • wordpress插件手动升级/网站推广优化设计方案
  • wordpress分享和点赞/优化排名seo
  • 盐城哪里做网站/舆情监测软件