博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode:Rotate Array
阅读量:6951 次
发布时间:2019-06-27

本文共 727 字,大约阅读时间需要 2 分钟。

Problem:

Rotate an array of n elements to the right by k steps.

For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].

Note:

Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.

Solution:问题意思是要将末尾的数字依次右移 总共移动三次 则是左移n-k%n 采用三步反转。

1 class Solution { 2 public: 3     void rotate(vector
& nums, int k) { 4 int n=nums.size(); 5 int m=n-k%n; 6 reverse(nums,0,m-1); 7 reverse(nums,m,n-1); 8 reverse(nums,0,n-1); 9 10 }11 void reverse(vector
& nums,int from,int to)12 {13 while(from

 

转载于:https://www.cnblogs.com/xiaoying1245970347/p/4615254.html

你可能感兴趣的文章
25、Base64
查看>>
如何用 Canvas绘制图形
查看>>
Dynamics CRM 系统自定义部分的语言翻译
查看>>
Makefile学习与进阶之Makefile.am和$$(M)的意思
查看>>
Codeforces Round #382 (Div. 2)
查看>>
日历控件--My97DatePicker的使用
查看>>
k8s运行容器之Job(四)--技术流ken
查看>>
Android下打印调试堆栈方法(转)
查看>>
iOS7坐标上移44pt的解决
查看>>
面向对象基础
查看>>
Python全栈开发—第1站
查看>>
15 函数回调 模块
查看>>
iOS掉落回弹效果
查看>>
Eclipse--eclipse去除js(JavaScript)验证错误
查看>>
mac关闭和开启启动声
查看>>
浅谈WebService开发(一)
查看>>
学习Zookeeper之第2章Zookeeper安装
查看>>
java开始到熟悉100-102
查看>>
(译)我为什么用Go语言来做区块链——Syed Jafar Naqvi——Co-Founder/CEO at Karachain...
查看>>
随机生成一个不重复的身份码,包含数字和字母
查看>>