摘要: 汉诺塔—理解递归 如下图所示,从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘,现要求将A柱子上的圆盘移到C柱子上去,期间只有一个原则:一次只能移到一个盘子且大盘子不能在小盘子上面,求移动的步骤 Code c++ include using namespace std; void 阅读全文
posted @ 2018-03-04 20:00 一棵球和一枝猪 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 数组循环右移 设计算法,实现把一个含有N个元素的数组循环右移K位,要求时间复杂度$O(n)$,并且,不能使用额外的数组 由浅入深 解法一:每次右移一位,循环K次 假设数组中元素为 ,那么这个步骤大致上是 具体代码为 这种方法的时间复杂度为$O(N^{2})$ 解法二:分块,整体交换 我们仍然假设数组 阅读全文
posted @ 2018-03-04 15:32 一棵球和一枝猪 阅读(260) 评论(0) 推荐(0) 编辑