算法练习题
miss_fang999
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数组轮流取头或尾的最大值
方法一:递归 递推关系为: M(left,right) = max(v[left] + L(left + 1,right) , v[right] + L(left, right - 1)) 其中L(left,right) = Sum(left, right) - M(left, right) 其中M表示自己先选获得的最大值,L表示对方先选自己获得的最大值 packa...原创 2018-09-15 23:37:18 · 2979 阅读 · 0 评论 -
数组单调递减子序列中的最长值
计蒜客上的一个题目,把别人的代码copy过来,加上了自己的注释。 题目:给定一个不超过5000个数的序列,每个数不超过32位带符号长整型,求序列严格单调递减子序列中的最长序列长度,如果有多个这样的序列,输出序列值不重复的总个数。 package lianxi_1; import java.math.BigInteger; import java.util.HashSet; import j...原创 2018-09-18 15:56:48 · 383 阅读 · 0 评论 -
找出数组中只出现一次的2个数字,其他数字都出现2次
package lianxi_1; import java.util.ArrayList; import java.util.List; //如果一个数组中只有两个数字出现1次,其他都是出现2次,请找出这2个数字 //思路:将数字元素全部异或一遍,因为相同的元素异或以后为0,所以结果为出现1次的两个数字异或结果 //将异或结果按照二进制中不为0的最低位进行划分,将数组分成2个子数组,那...原创 2018-09-13 20:34:33 · 3202 阅读 · 0 评论 -
java最大公共子序列
1,求2个数组最大公共子序列 2,求2个数组最大连续公共子序列 采用动态规划思想,因为子问题重合了。 先看问题2,外循环从a数组开始,使用数组c存储中间值。对于数组a的前i个元素组成的子数组,和数组b的前j个元素组成的子数组,设它们的最大连续子数组为c[i][j],若a的第i个元素等于b的第j个元素,则c[i][j]=c[i-1][j-1]+1,每次再与前一次保存的最大值比较即可。 问题1...原创 2018-09-15 11:28:41 · 852 阅读 · 0 评论 -
练习题若干
动态规划问题 小Q和牛博士合唱一首歌曲,这首歌曲由n个音调组成,每个音调由一个正整数表示。 对于每个音调要么由小Q演唱要么由牛博士演唱,对于一系列音调演唱的难度等于所有相邻音调变化幅度之和, 例如一个音调序列是8, 8, 13, 12, 那么它的难度等于|8 - 8| + |13 - 8| + |12 - 13| = 6(其中||表示绝对值)。 现在要对把这n个音调分配给小Q或牛博士,...原创 2018-09-28 15:34:11 · 336 阅读 · 0 评论 -
LeetCode回溯法解数独
数独一般只有一个解,这里给出一个多解的数独测试程序。总共13个解。如其中一个解为: |7 8 1 |6 4 5 |3 2 9 |9 2 5 |1 7 3 |4 6 8 |3 6 4 |9 2 8 |7 5 1 |8 7 9 |5 6 4 |2 1 3 |5 3 2 |7 8 1 |6 9 4 |1 4 6 |2 3 9 |8 7 5 |4 1 7 |8 9 2 |5 3 6 ...原创 2019-06-20 14:03:52 · 361 阅读 · 0 评论
分享