刷爆LeetCode之旋转数组
旋转数组
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
示例 1:
输入:
[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:
输入:
[-1,-100,3,99]
和 k = 2
输出: [3,99,-1,-100]
解释:
向右旋转 1 步: [99,-1,-100,3]
向右旋转 2 步: [3,99,-1,-100]
解题思路:
- 后移几步则循环几次
- 先把数组中的最后一位记下
- 循环一遍,然后把数组中的每一位后移一位
- 把之前记下的最后一位赋给空出来的第一位
- 这个代码测试例子中有一个数组长度是两万多的例子,用Java写会时,所以用C语言写会好一点。
代码如下:
void rotate(int* nums, int numsSize, int k) {int i=0;int j=0;for(i=0;i<k;i++) { //旋转几步就循环几次int e=nums[numsSize-1]; //先将数组最后一位记下for(j=numsSize-1;j>0;j--) { 将数组中,从第0位开始每一位后移一位。nums[j]=nums[j-1];}nums[0]=e;然后把之前记下的最后与一位赋给第0位.}
}
刷爆LeetCode之旋转数组相关推荐
- 一周刷爆LeetCode,算法da神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记
一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记 教程与代码地址 P1 出圈了!讲课之外我们来聊聊 ...
- 一周刷爆LeetCode笔记
一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记 教程与代码地址 P1 出圈了!讲课之外我们来聊聊 ...
- 算法学习 |从无到有 刷爆LeetCode算法神器
开始文章输出之前,我没有着急下笔,而是认真的问了自己几个问题. 我为什么要学算法? 如何保持学习的热情和积极性? 学到的算法是否可以应用到工作中? 学到的算法怎么应用到工作中? 如何实现从掌握到精通? ...
- 刷爆leetcode第二期 0002~0006
leetcode题目 题目一 删除数组中所有val值 题目二 删除有序数组中的重复项 题目三 合并两个有序数组 题目四 旋转数组 题目五 数组形式的整数加法 题目一 删除数组中所有val值 给你一个数 ...
- LeetCode 初级 - 旋转数组
旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向 ...
- leetcode初级———旋转数组的多种算法总结
题目描述: 给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数. (来源:leetcode) 1.数组拆分 //经观察发现:将数组元素全部后移k单位即将后 k%length 个元素前 ...
- LeetCode 189. 旋转数组(环形替换)
1. 题目 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向 ...
- 一周刷爆LeetCode,算法大神左神(左程云)
P2认识时间复杂度和简单排序算法 912. 排序数组 只要是排序相关的代码(冒泡,选择,插入)的测试都是在这个上面完成的 public class P2认识复杂度和简单排序算法{public stat ...
- 刷爆leetcode
文章目录 算法 评估复杂度 对数器 Math.random() 对数器的使用 生成长度随机最大值随机的随机数组 位运算 异或运算 不申请额外变量交换两个数 整型数提取最右侧的1 找到出现奇数次的数并打 ...
最新文章
- AnsiToUtf8 和 Utf8ToAnsi
- ES6 module 简单整理
- linux 上oracle安装
- 独家 | 无人驾驶项目实战: 使用OpenCV进行实时车道检测
- Java NIO 学习笔记 缓冲区补充
- python selenium截图_python+selenium截图操作样例
- 也用 Log4Net 之走进Log4Net (四)
- 如何下载河南省卫星地图高清版大图
- MySQL 报错:Parameter ‘@XXX‘ must be defined.
- Python语法基础14 pickle与json模块 异常处理
- RegistryKey类的学习(转载)
- python中如何判断大小写_用python如何判断字符的大小写
- 【交通数据(1)——加州高速路网PeMS交通数据】
- Unity实战(1):Unity点击按钮,打印按钮文字内容
- python 中角度与弧度间的转换
- USB-WIFI RTL8188CU模块驱动
- typescript egg mysql_Egg.js egg-mysql 连接MySQL 报 AppWorkerDiedError 错误
- 微信小程序开发文档官方
- Java基础系列33-异常
- 离散数学复习笔记——命题逻辑——永真蕴含式
热门文章
- Linux下载安装MySql
- Android 图形处理特效 Matrix 的set 、 pre、post方法的区别和使用
- 腾讯云联合图元科技打造新一代城市“运管服平台”,助力城市治理智慧化
- MATLAB输入/输出语句
- vs2019打开xsd文件报错 “值不能为null 参数名instance“
- “华为杯”研究生数学建模竞赛2020年-【华为杯】E题:基于深度学习的大雾条件下能见度估计与预测(附优秀论文及Python代码)
- 用python画分时图_Python socket编程之四:模拟分时图
- rem的正确使用姿势 -- 完美解决H5页面不同尺寸屏幕的适配问题
- 成都python培训收费
- Linux服务器Android环境配置,基于BusyBox+LinuxDeploy+JuiceSSH搭建Android上的Linux服务器教程...