| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【力扣】——轮转数组 -> 正文阅读 |
|
[数据结构与算法]【力扣】——轮转数组 |
题目描述:给定一个非负整数k,输出数组nums右移k位后的结果 示例如下: 思路1: 以上图数组为例,假设k=1,前面的元素右移另nums[end]=nums[end-1]即可,在这个过程中nums[end]位置的原数据会被覆盖,且数组的首元素的值也不对,结果如图: ? 所以需要另外一个变量记录nums[end]的原数据,最后赋值给nums[0] 右移k次就是重复上述操作k次 代码如下:
?这个方法理论可行,但实际上运行效率特别低 思路2:
还是图中数组为例 后3个元素逆序后的数组:[1,2,3,4,7,6,5] 前4个元素逆序后的数组:[4,3,2,1,7,6,5] 整体逆序后的数组:[5,6,7,1,2,3,4] 代码如下:
结果如图: 此方法同样使用于数组左移的情况,将后k个元素改为前k个元素,前n-k个元素改为后n-k个元素即可 完 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 19:35:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |