旋转数组

给定一个数组,将数组中的元素向右移动 个位置,其中 是非负数。

示例 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之旋转数组相关推荐

  1. 一周刷爆LeetCode,算法da神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记

    一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记 教程与代码地址 P1 出圈了!讲课之外我们来聊聊 ...

  2. 一周刷爆LeetCode笔记

    一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记 教程与代码地址 P1 出圈了!讲课之外我们来聊聊 ...

  3. 算法学习 |从无到有 刷爆LeetCode算法神器

    开始文章输出之前,我没有着急下笔,而是认真的问了自己几个问题. 我为什么要学算法? 如何保持学习的热情和积极性? 学到的算法是否可以应用到工作中? 学到的算法怎么应用到工作中? 如何实现从掌握到精通? ...

  4. 刷爆leetcode第二期 0002~0006

    leetcode题目 题目一 删除数组中所有val值 题目二 删除有序数组中的重复项 题目三 合并两个有序数组 题目四 旋转数组 题目五 数组形式的整数加法 题目一 删除数组中所有val值 给你一个数 ...

  5. LeetCode 初级 - 旋转数组

    旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向 ...

  6. leetcode初级———旋转数组的多种算法总结

    题目描述: 给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数. (来源:leetcode) 1.数组拆分 //经观察发现:将数组元素全部后移k单位即将后 k%length 个元素前 ...

  7. LeetCode 189. 旋转数组(环形替换)

    1. 题目 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向 ...

  8. 一周刷爆LeetCode,算法大神左神(左程云)

    P2认识时间复杂度和简单排序算法 912. 排序数组 只要是排序相关的代码(冒泡,选择,插入)的测试都是在这个上面完成的 public class P2认识复杂度和简单排序算法{public stat ...

  9. 刷爆leetcode

    文章目录 算法 评估复杂度 对数器 Math.random() 对数器的使用 生成长度随机最大值随机的随机数组 位运算 异或运算 不申请额外变量交换两个数 整型数提取最右侧的1 找到出现奇数次的数并打 ...

最新文章

  1. AnsiToUtf8 和 Utf8ToAnsi
  2. ES6 module 简单整理
  3. linux 上oracle安装
  4. 独家 | 无人驾驶项目实战: 使用OpenCV进行实时车道检测
  5. Java NIO 学习笔记 缓冲区补充
  6. python selenium截图_python+selenium截图操作样例
  7. 也用 Log4Net 之走进Log4Net (四)
  8. 如何下载河南省卫星地图高清版大图
  9. MySQL 报错:Parameter ‘@XXX‘ must be defined.
  10. Python语法基础14 pickle与json模块 异常处理
  11. RegistryKey类的学习(转载)
  12. python中如何判断大小写_用python如何判断字符的大小写
  13. 【交通数据(1)——加州高速路网PeMS交通数据】
  14. Unity实战(1):Unity点击按钮,打印按钮文字内容
  15. python 中角度与弧度间的转换
  16. USB-WIFI RTL8188CU模块驱动
  17. typescript egg mysql_Egg.js egg-mysql 连接MySQL 报 AppWorkerDiedError 错误
  18. 微信小程序开发文档官方
  19. Java基础系列33-异常
  20. 离散数学复习笔记——命题逻辑——永真蕴含式

热门文章

  1. Linux下载安装MySql
  2. Android 图形处理特效 Matrix 的set 、 pre、post方法的区别和使用
  3. 腾讯云联合图元科技打造新一代城市“运管服平台”,助力城市治理智慧化
  4. MATLAB输入/输出语句
  5. vs2019打开xsd文件报错 “值不能为null 参数名instance“
  6. “华为杯”研究生数学建模竞赛2020年-【华为杯】E题:基于深度学习的大雾条件下能见度估计与预测(附优秀论文及Python代码)
  7. 用python画分时图_Python socket编程之四:模拟分时图
  8. rem的正确使用姿势 -- 完美解决H5页面不同尺寸屏幕的适配问题
  9. 成都python培训收费
  10. Linux服务器Android环境配置,基于BusyBox+LinuxDeploy+JuiceSSH搭建Android上的Linux服务器教程...