算法练习-java
文章平均质量分 50
vivianluomin
这个作者很懒,什么都没留下…
展开
-
算法练习--汉诺塔问题
一.起源: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。二.抽象为数学问题: 如下图所示,从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘原创 2017-09-23 15:47:18 · 1339 阅读 · 0 评论 -
算法练习---动态规划一(合唱团)
题目描述 有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗?输入描述: 每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 <= n <= 50),表示学生的个数,接下来的一行,包含 n 个整数,按顺序表示每个学生的能力值 ai原创 2017-09-19 16:42:24 · 542 阅读 · 0 评论 -
算法练习之二维数组的查找
最近看到一道比较有意思的算法题,主要是解题的思路,那种感觉,所以给自己记录记录问题描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。在一般情况下,对于菜鸟级别的我,肯定是先行在列,这样进行查找,可是这样的效率并没有那么高下面介绍这道的最优解法我们知道这个二维数组,从左到右是递原创 2017-10-22 19:12:19 · 238 阅读 · 0 评论