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

每日一题——轮转数组

在这里插入图片描述

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. 思路

  1. 定义n表示数组长度。
  2. 定义数组newNums,长度为n
  3. 遍历原数组,将原数组下标为i对的元素放置新数组下标为(i + k) % n的位置。
  4. 将新数组拷贝至原数组即可。

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];}}
}

运行结果:

image-20231223220952970

http://www.lryc.cn/news/266020.html

相关文章:

  • Unity手机移动设备重力感应
  • nodejs微信小程序+python+PHP基于推荐算法的电影推荐系统-计算机毕业设计推荐django
  • Linux 配置 swap 区
  • AG16KDDF256 User Manual
  • w15初识php基础
  • powerbuilder Primary! Delete! Filter! 三个缓冲区的作用
  • Confluent 与阿里云将携手拓展亚太市场,提供消息流平台服务
  • 【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
  • 算法基础之01背包问题
  • Git的总体认知与具体实现
  • Hadoop入门学习笔记——三、使用HDFS文件系统
  • JavaWeb—html, css, javascript, dom,xml, tomcatservlet
  • LangChain 31 模块复用Prompt templates 提示词模板
  • 深入理解 Git 分支管理:提升团队协作与开发效率
  • WPF StackPanel
  • 由正规表达式构造DFA,以及DFA的相关化简
  • 模式识别与机器学习(九):Adaboost
  • 【JAVA】分布式链路追踪技术概论
  • ZooKeeper 使用介绍和原理详解
  • 模式识别与机器学习(八):决策树
  • Pinely Round 3 (Div. 1 + Div. 2)(A~D)(有意思的题)
  • 在Linux下探索MinIO存储服务如何远程上传文件
  • 持续集成交付CICD:Linux 部署 Jira 9.12.1
  • Linux命令-查看内存、GC情况及jmap 用法
  • nginx安装letsencrypt证书
  • docker笔记1-安装与基础命令
  • VSCode软件与SCL编程
  • Opencv中的滤波器
  • <JavaEE> 基于 TCP 的 Socket 通信模型
  • [THUPC 2024 初赛] 二进制 (树状数组单点删除+单点查询)(双堆模拟set)