随笔分类 - 算法
摘要:链接直达 分析 字母异位分词sort一下就是一样的,可以当作key 还是hash,只不过value是List,key是排序后的string。 所以直接遍历字符数组,插入到map[sort(str)]中去 然后再遍历map,将每个value加到结果中去 代码 class Solution { publ
阅读全文
摘要:链接直达:1-两数之和 分析: 梦(maybe噩梦)开始的地方! 这个题在哈希,应该是将数组和下标存储在unordered_map中,使用hash的find(), 常规想法可能是先创建unordered_map,然后再遍历数组,使用find(), 但是呢,我们可以一边遍历,一边查找,没找到再插入{n
阅读全文
摘要:问题描述 点击查看题目信息 蓝桥杯全国总决赛的颁奖典礼结束后,小蓝被分配了一个任务——录入部分获奖选手的奖项信息。 他用 "G"、"G1"、"G2"、"G3"、"GG"、"1"、"2"、"3" 这些字符串分别表示国特、国一、国二、国三、国优、省一、省二、省三等级。为了提高效率,小蓝写了个 Pytho
阅读全文
摘要:题目来源:力扣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
阅读全文

浙公网安备 33010602011771号