算法
文章平均质量分 51
antchow-
这个作者很懒,什么都没留下…
展开
-
将n列矩阵拆分成固定长度k(k<n)列的子矩阵,找出所有方案的排列组合算法
如有疑问可加QQ:936285470,交流技术扯淡都可以前两天朋友让帮忙写一个论文里面的矩阵拆分算法,大概的意思就是有一个m×n的矩阵,给定一个整数k,然后按照k的 值将矩阵拆分成m×k的矩阵,求所有的方案。看了之后想了一下,最简单的排列组合算法嘛,就去百度了一段排列组合代码下来改(不想手写你懂得)后面找到了一个排列组合写的还不错的博,我这里面有一部门代码用的也是他的,原创 2016-12-29 10:11:03 · 1320 阅读 · 0 评论 -
判断某整数是否为两数平方之和
题:给定一个整数 N,写一个程序判断是否存在 2 个整数 a、b(a < b),使得 a^2 + b^2 = N如:输入:N = 5,输出:true 输入:N = 7,输出:false思路:我们可以把整数N当成是一个圆心在原点的园的半径的平方。 即圆的方程为:a^2 + b^2 = N。这样,我们就可以使得a从1开始到根号N,在这个区间内找一个数b,使得根号(N-a^2)为整数,如果找到了就输出t原创 2017-10-20 12:47:11 · 6516 阅读 · 0 评论 -
整数的阶乘
题:给一个数字 n ( 0 < n <= 5000 ), 写一个程序,以字符串的形式返回数字的阶乘思路:由于阶乘的结果一般都很大,直接用整形存会溢出,我个人觉得最好的思路就是用数组来存结果。从1开始到n,挨个乘,每次相乘的结果都存数组。对于多位数乘多位数,我们可以把它拆分成一个个的一位数乘多位数,然后把结果加起来,最后把数组元素拼成字符串即可。 其实这个题的难点就难在进位,需要考虑很多种情况,所以在原创 2017-10-25 17:13:52 · 3077 阅读 · 0 评论 -
多叉树求最优解问题
阿里巴巴的ODPS大数据处理平台可以启动一系列并发的作业,每个作业中存在一系列存在父子关系的任务。每个任务用一个三元组表示–(任务id,父任务id,执行开销),其中任务id是一个正整数(>0);父任务id为0表示根任务,每个作业存在一个唯一的根任务,并且,所有的任务,如果其父任务id不为0,那么必然是一个已经存在的根任务id;执行开销是一个正整数(>0)。系统中至少存在一个作业。举例如下: (1,原创 2017-07-05 11:56:56 · 2903 阅读 · 2 评论