Leetcode基础刷题之PHP解析( 115. Distinct Subsequences)

这道题有点意思的。给定两个字符串,要你在字符串S中找出所有字符串T的子序列。第一个b太多了,容易弄混,直接看例子2。最终的结果是5,就说明在babgbag中能找出5个bag这样的子序列。你可以中间删除或者不删,T是bag,从S的第一个字符串找,先ba,下一个是b,bab不是他的子序列,在下一个是g,现在S中babg删掉b就是子序列了。就是这样的顺序,可以从中删除掉不符合的字符,但是位置不...

Leetcode动态规划之PHP解析(120. Triangle)

2019-5-18 星期六  开始吧上一题链接: Leetcode动态规划之PHP解析(70. Climbing Stairs)动态规划题第二天题目描述给定一个三角形,好吧,其实就是一个二维数组,让我们求从上至下的最小路径和,往下一层,你只能移动相邻之间的两个数。题目解析还是使用动态规划的两个步骤。1.定义好状态2.求出递推的公式。递归和动态规划有一个不同的地方就是递归是自上而下,比如在...

Leetcode基础刷题之PHP解析(5. Longest Palindromic Substring )

我们可以维护一个二维数组来表示一个区间内是否为回文串($[$i][$j]),当$i=$j的时候,说明此时只是一个字符串,那么肯定是回文串,如果$i-$j等于1说明此时他们是相邻的两个字符串,只需要判断$s[$i]是否等于$s[$j],如果相减大于等于2的话,说明他们之间不是相邻的,相当于此时$i位于当前字符串的最右侧,$j位于当前字符串的最左侧,我们除了判断他们自身是否相等之外,还需要判...