java算法
文章平均质量分 68
你就是我最想要的丫头
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
求最长回文子串(Manacher)算法
package test; //Manacher算法,马拉车算法求最长回文子串 //算法基本要点:首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度: //在每个字符的两边都插入一个特殊的符号。比如 abba 变成 #a#b#b#a#, aba变成 #a#b#a#。 //为了进一步减少编码的复杂度,可以在字符串的开始加入另一个特殊字符,这样就不用特殊处理越界问题,...原创 2018-03-30 10:35:29 · 195 阅读 · 0 评论 -
Array sum is K - DP
求出一个数组arr中有没有那几个数加起来等于S,有,返回true 没有返回false。分析:eg:arr={2,4,6,3} S=10;动态规划可以这么理解:1、很多个重叠子问题 2、选或者不选的问题对于数组中的每一个数,比如例子中的3,如果选择,则需要3之前的数可以组成S-3=7按下标i表示: 如果选:f(i,S)=f(i-1,S-arr[i]); ...原创 2018-03-29 14:21:51 · 206 阅读 · 0 评论 -
Coins-DP
Coins动态规划问题:package dp; /** * @author cy */ public class Coins { /** * * @param values * @return boolean * * 有 n 个硬币排成一条线,每一枚硬币有不同的价值。两个参赛者轮流从任意一边取一枚硬币,直到没有硬币为止。 * 计算拿到的硬币总价值,...原创 2018-05-26 20:05:15 · 257 阅读 · 0 评论 -
对给定字符串求所有的组合
输入字符串,输出所有的组合,比如输入abc,输出 a b c ab ac bc abc。题目解法:abc用01串表示,001表示输出c,111表示输出abc,解法如下。。。空间复杂度n,时间复杂度为2^n-1,因为有这么多种结果啊。。。package combination; /** * * @author Administrator * 输出所有的组合,比如输入abc,输出 a b c...原创 2018-05-27 20:28:08 · 1831 阅读 · 0 评论
分享