题目:旋转数组

给定一个数组,将数组中的元素向右移动 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]
说明:
尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
要求使用空间复杂度为 O(1) 的原地算法。

代码实现:

void rotate(int* nums, int numsSize, int k) {   int i, j;int flag_value;int temp;/* 排除异常情况 */if(k > numsSize){k = k % numsSize;}else if(k == 0){return;}/* 循环移位 */for(j = 0; j < k; j++){temp = nums[0];for(i = numsSize - 1; i >= 0; i--){if(i == numsSize - 1)nums[0] = nums[i];elsenums[i + 1] = nums[i];}nums[1] = temp;}
}

解题逻辑:
k每旋转一次,数组每位元素即向后移动一位。

Leetcode算法题(C语言)4--旋转数组相关推荐

  1. Leetcode算法题:两个有序数组求中位数

    Leetcode算法题:两个有序数组求中位数 要求时间复杂度为O(log(m+n)) 思路: 暴力解决:合并数组并排序,简单且一定能实现,时间复杂度O(m+n) 由于两个数组已经排好序,可一边排序一边 ...

  2. LeetCode算法题1:判断整数数组是否存在重复元素

    文章目录 前言 一.题目描述 二.思路 1.暴力破解 2.空间换时间(有点像桶排序思想) 3,排序 总结 前言 本系列文章为leetCode刷题笔记,仅供参考. 一.题目描述 给定一个整数数组,判断是 ...

  3. LeetCode算法题350:两个数组的交集II(Intersection of Two Arrays II)

    技术交流可以加: 本人微信:xcg852390212 本人qq:852390212 学习交流qq群1(已满): 962535112 学习交流qq群2: 780902027 两个数组的交集II Leet ...

  4. leetcode算法题--最长湍流子数组

    原题链接:https://leetcode-cn.com/problems/longest-turbulent-subarray/ 相关问题:摆动序列 使用双dp保存状态. up[i]表示如果在i点是 ...

  5. leetcode算法题--合并两个有序数组

    原题链接:https://leetcode-cn.com/problems/merge-sorted-array/ 尾部双指针 void merge(vector<int>& nu ...

  6. leetcode算法题--最长公共子数组

    原题链接:https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray/ 相似题目:最长公共子序列 只不过这里必须是连续的, ...

  7. leetcode算法题--寻找两个有序数组的中位数★★

    原文链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/ 图示(来源): double findMedianSortedAr ...

  8. LeetCode算法题-Reverse Linked List(Java实现)

    这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...

  9. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)

    这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...

  10. LeetCode算法题-K-diff Pairs in an Array(Java实现)

    这是悦乐书的第254次更新,第267篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第121题(顺位题号是532).给定一个整数数组和一个整数k,您需要找到数组中唯一的k- ...

最新文章

  1. Linux服务器安装软件
  2. jQuery函数学习
  3. Mybatis 总结
  4. boost::sort模块实现测试并行稳定排序
  5. P1387 最大正方形
  6. 堡垒之夜服务器维修,堡垒之夜常见问题解决方法
  7. 好看的表白墙LoveCards v1.0.4 源码(开源)
  8. ospf协议_「案例」OSPF路由动态协议及配置
  9. X64_Xcelera-CL_PX4采集卡测试记录
  10. mysql数据库在工控自动化应用_robotframework自动化系列:操作mysql数据库
  11. LeetCode 程序员面试宝典
  12. Allegro 拼板
  13. gps高斯utm_高斯-克吕格投影与UTM投影
  14. 本地创建MYSQL数据库详解
  15. 简体中文原型设计工具对比
  16. 微信公众号里的文章图片应该如何原图下载
  17. OT网络安全-OT客户端安全防护要采取那些措施
  18. P3P求解相机姿态原理介绍
  19. BUU [ACTF新生赛2020]Universe_final_answer
  20. 宽带和光纤宽带的区别

热门文章

  1. pytorch4:简单的线性回归
  2. linux内核那些事之early boot memory-memblock
  3. ie7中overflow:hidden无效解决办法
  4. python web开发要学什么_Python WEB开发 用Python开展web开发必须学习什么?
  5. vue项目:(全局变量设置与调用)API接口封装 - 代码篇
  6. 如何用html构建ios应用,使用HTML5构建iOS原生APP(2)
  7. python发送邮件并返回提示_python-邮件提醒功能
  8. 简约官网引导页网站源码,站长必备
  9. WordPress内核站群全自动新闻采集发布源码,单站专用
  10. imap服务器appleimap.163.com没有响应,163smtp