摘要: 题目:数组中有 n 个数据,要将它们顺序循环向后移 k 位,即前面的元素向后移k位,后面的元素则循环向前移k位,例:0,1,2,3,4 循环移3位后为2,3,4,0,1。 解题思路:这道题解题方法有很多,后移让我想到了队列,因为是先进先出,n 个数据后移 k 位就可以当成前 n-k 个数据依次出队后又依次入队,从队头出进入队尾。然后再依次输出队列中的元素即为最终移后各元素的位置。因此可以运用队列来解这道题。注意:当k>n时,应先进行取摸运算k=k%n,也是一个简化过程。代码如下:View Code 1#include<iostream>2#include<queue>3 阅读全文
posted @ 2011-10-18 14:01 笑巧 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 题目:求 n次二项式各项的系数,已知二项式的展开式为: 解题思路: 如果直接用上面的公式去计算,计算量很大,当 n 比较大时,算法因时间效率太低。有一个数学常识:各阶多项式的系数,成杨辉三角形的规律,具体如下所示: ( a+b )0 1 ( a+b )11 1 ( a+b )2 1 2 1 ( a+b )3 1 33 1 ( a+b )4 1 4 6 4 1 ( a+b )5 …… 以这个知识为基础,求 n 次二项式的系数的数学模型就是求 n+1 阶杨辉三角形,l算法设计:¡第i层有i-2个数据需要计算(a[1]=a[i]=1)¡1个一维数据存放已经算出的一行数据¡ 阅读全文
posted @ 2011-10-18 13:45 笑巧 阅读(1953) 评论(0) 推荐(0) 编辑