| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【LeetCode·数组.189】旋转数组,题目分析+三种思路+知识点总结 -> 正文阅读 |
|
[数据结构与算法]【LeetCode·数组.189】旋转数组,题目分析+三种思路+知识点总结 |
旋转数组
一、题目给定一个数组,将数组中的元素向右移动 示例 1:
示例 2:
提示: 1 <= nums.length <= 2 * 104 二、解题思路分析1. 暴力循环求解按照它的思路,旋转k次,把旋转k次分成k份,每份都是旋转1次 先保存最后一个数字,往前的每一个数字都向后挪一位 但力扣好像会
如果用内存拷贝代码会简单一点
时间复杂度: 空间复杂度: 2. 额外数组,利用空间换时间可以使用额外的数组来将每个元素放至正确的位置 创建数组的时候,虽然在oj中可以
????但在 ????会出现错误 这样我们先用malloc开辟内存空间
将每个数的正确位置放在新的数组里,最后复制到原数组中,最后别忘记
时间复杂度: 空间复杂度: 3. 数组翻转类似于字符串翻转,在字符串中我们遇到, abcdef 我们先将 ab 逆序 再将 cdef 逆序 最后将 ba fedc 逆序 得到 cdefab 数组可以用同样的方式
三、总结
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:52:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |