05 2020 档案

摘要:最佳加法表达式V2描述给定n个1到9的数字,要求在数字之间摆放m个加号(加号两边必须有数字),使得所得到的加法表达式的值最小,并输出该值。例如,在1234中摆放1个加号,最好的摆法就是12+34,和为36输入有不超过15组数据每组数据两行。第一行是整数m,表示有m个加号要放( 0<=m<=50)第二 阅读全文
posted @ 2020-05-30 19:32 StudyNLP 阅读(387) 评论(0) 推荐(0)
摘要:最佳加法表达式V1:描述给定n个1到9的数字,要求在数字之间摆放m个加号(加号两边必须有数字),使得所得到的加法表达式的值最小,并输出该值。例如,在1234中摆放1个加号,最好的摆法就是12+34,和为36输入有不超过15组数据每组数据两行。第一行是整数m,表示有m个加号要放( 0<=m<=50)第 阅读全文
posted @ 2020-05-27 18:55 StudyNLP 阅读(325) 评论(0) 推荐(0)
摘要:最长公共子序列(Longest-Common-Subsequences,LCS)是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。最长公共子串(Longest-Common-Substring,LCS)问题是寻找两个或多个已知字符串最长的子串。此问题与最长公共子序列问题的区 阅读全文
posted @ 2020-05-24 10:58 StudyNLP 阅读(461) 评论(0) 推荐(0)
摘要:问题描述一个数的序列ai,当a 1 < a 2 < ... < a S 的时候,我们称这个序列是上升的。对于给定的一个序列(a 1 , a 2 , ..., a N ),我们可以得到一些上升的子序列(a i1 , a i2 , ..., a iK ),这里1 <= i1 < i2 < ... < i 阅读全文
posted @ 2020-05-20 08:00 StudyNLP 阅读(486) 评论(0) 推荐(0)
摘要:数字三角形V3:递归转成递推:思路就是从下往上推,就相当于,从终点往起点推,找每一步的最大值存下来。比如第2步中,2,只能与4,5计算,取其最大值,4+2,5+2,所以是7,存下,后续以此类推最后求到最顶端的值,即是最大路径的值,这样处理,运算速度极快。当然,存储空间还可以优化,有兴趣的大家可以进一 阅读全文
posted @ 2020-05-17 11:03 StudyNLP 阅读(186) 评论(0) 推荐(0)
摘要:数字三角形V2:上一种方法计算会有大量的重复计算,如果数组过大,会超时。7 13 1 8 18 1 1 2 0 12 1 7 3 4 3 4 14 1 5 4 2 6 6 4 5 1如果采用递规的方法,深度遍历每条路径,存在大量重复计算。则时间复杂度为 2 n ,对于 n = 100 行,肯定超时。 阅读全文
posted @ 2020-05-14 06:57 StudyNLP 阅读(189) 评论(0) 推荐(0)
摘要:数字三角形73 88 1 02 7 4 44 5 2 6 5在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需要求出这个最大和即可,不必给出具体路径。三角形的行数大于1小于等于100,数字为 0 - 99输入格式:5 //三角形行 阅读全文
posted @ 2020-05-09 10:15 StudyNLP 阅读(277) 评论(0) 推荐(0)
摘要:描述:农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1,000,000,000).但是,John的C (2 <= C <= N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发 阅读全文
posted @ 2020-05-06 12:02 StudyNLP 阅读(208) 评论(0) 推荐(0)
摘要:快速幂:分治方式的实现其实就是利用递归的原理实现。Python算法实现: 1 def pow(a, b): 2 if b == 0: 3 return 1 4 if b % 2 != 0: 5 return a * pow(a, b - 1) 6 else: 7 t = pow(a, b / 2) 阅读全文
posted @ 2020-05-02 11:07 StudyNLP 阅读(214) 评论(0) 推荐(0)