随笔分类 - 算法 / LeetCode
Coding!
摘要:题目来源:力扣115 解法思路:使用动态规划 定义 dp[i][j]为考虑 s 中 [0,i-1]个字符,t 中 [0,j-1] 个字符的匹配个数。 那么显然对于某个dp[i][j] 而言,从「最后一步」的匹配进行分析,包含两类决策: 1、不让 s[i] 参与匹配,也就是需要让 s 中 [0,i−1
阅读全文
摘要:力扣225. 用队列实现栈 思路:主要是出栈操作,可以使用两个队列,出栈时将入栈队列中数据压入辅助队列中,直到入栈队列只剩下一个数据就是栈顶元素,然后再把辅助队列中元素全部压回入栈队列中,清空辅助队列 public: queue<int> que1; queue<int> que2; MyStack
阅读全文
摘要:用栈实现队列,需要两个栈,一个定义为stackIn,另一个定义为stackOut 牛客NC76 用两个栈实现队列 1、队列的push()操作 这个直接将数据压入stcakIn,就行 void push(int node) { stackIn.push(node); } 2、队列的pop()操作 这里
阅读全文
摘要:作为递归入门算法,我却仅仅学习了这题的递归解法,惭愧惭愧。今天来总结一下这道题的所有解法 1、递归解法 class Solution { public: int Fibonacci(int n) { //每3个一组,整成动态二维数组 // write code here if(n<=2){ retu
阅读全文