如何把一个数组循环右移k位
来源:互联网 发布:闪电侠第三季人工智能 编辑:程序博客网 时间:2024/05/16 07:03
假设要把数组序列为12345678右移两位变为78123456,比较移位前后数组序列的形式,不难看出,其中有两段序列的顺序是不变的,即78和123456,可以把这两段看作两个整体,右移k位就是把数组的两部分交换一下。鉴于此,可以设计这样一种算法,步骤如下(以数组序列12345678为例):
1)逆序数组子序列123456,数组序列的形式变为65432178.
2)逆序数组子序列78,数组序列的形式变为65432187
3)全部逆序,数组序列的形式变为78123456.
程序代码如下:
时间复杂度为O(n)
0 0
- 如何把一个数组循环右移k位
- 把一个含有N个元素的数组循环右移K位
- java 一个数组循环右移K位
- 把一个含有N个元素的数组循环右移K位, 要求时间复杂度为O(N)
- 数组循环右移k位
- 将数组循环右移k位
- 试分析如何把数组array中的所有元素循环右移p位
- 数组或字符串循环右移k位
- 将一个字符串循环右移K位
- 如何把char字符串循环右移N位
- 字符串循环右移K位
- 【练习题】编写一个函数,把一个char组成的字符串循环右移n位
- 编写一个函数,把一个char组成的字符串循环右移n位
- 编写一个函数,把一个char组成的字符串循环右移n位
- 将数组 a[n]所有的元素循环右移k位
- 将数组A中的元素A[0..n-1]循环右移k位
- 【数学】数组循环右移k位,要求时间复杂度为O(n)
- 经典算法——数组的循环右移K位
- 又免费用了一年的TexturePacker,给Texturepakcer打个广告
- final关键字
- list排序
- 【codechef】Towers(比较难想到方法的模拟题)
- Android5.0及5.1开启多用户的方法
- 如何把一个数组循环右移k位
- 面向基于英特尔® 架构的平台的实时端到端 H.265/HEVC 解决方案
- 关于GetSystemTimeAdjustment中提到的time of day
- 关于数组
- excel多次替换
- Win8 Metro(C#)数字图像处理--2.43图像马赛克效果算法
- Web端编写(四)——查看会议议程
- 解决 Git For Windows 无法提交
- static 代码块