这是原文的第一道题.
原文网址:http://blog.youkuaiyun.com/v_july_v/article/details/17303459
有兴趣的可以去看看
没有看原博主的答案,这是自己的答案
以左移两位为例
原始顺序:
a b c d e f g
左移两位后:
c d e f g a b
方法一的过程:
可以先移动一位:
b c d e f g a
然后在移动一位:
c d e f g a b
方法二的过程:
将ab cdefg各看成一组
1、 将ab左右互换成ba
2、 将cdefg左右互换成gfedc
3、 最后将bagfedc左右互换成cdefgab
下面是eclipse中实现的代码:Test_1.java

本文介绍了一种在数组中实现元素左移的算法,并提供了两种不同的实现方式。一种是通过循环移动来达到目的,时间复杂度为O(n*k);另一种则是通过三次翻转的方法,实现了更优的时间复杂度O(n)。
582

被折叠的 条评论
为什么被折叠?



