字符串
题目 | 内容 | 解法 |
---|---|---|
3 Longest Substring Without Repeating Characters | 无重复字符的最长子串 [m] | 两个指针,滑动窗口 |
22 Generate Parentheses | 有效括号数目[m] | 回溯 |
415 Add Strings | 字符串相加[e] | 逐个相加 |
43 Multiply Strings | 字符串相乘[m] | 逐个相乘的方法 |
937 Reorder Data in Log Files | 重新排列日志文件 | split_join_localeCompare |
20 Valid Parentheses | 判断有效括号[e] | stack map |
76 minimum Window Substring | 寻找包含一个字符串中所有字符的最小子串[h] | 滑动窗口法 |
151 Reverse Words in a String | 反转字符串单词[m] | api_正则 |
468 Validate IP Address | 验证IP的有效性[m] | 正则_遍历 |
js数据结构
题目 | 内容 | 解法 |
---|---|---|
146 LRU Cache | 实现LRU缓存[e] | map_双向链表+hash |
69 Sqrt(x) | 求根号x [e] | 对数二分牛顿 |
动态规划
二叉树
数组
链表
动态规划的思想
动态规划算法的基本思想:将待求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从这些子问题的解得到原问题的解,对于重复出现的子问题,只在第一次遇到的时候对它进行求解,并存下,求解问题的时候直接读取。