数组
主要用到的思想
二分法
双指针法
滑动窗口
vector的使用
https://blog.csdn.net/u014779536/article/details/111239643https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html
vector<vector<int>> res(n, vector<int>(n, 0)); // 使用vector定义一个二维数组
链表
主要用到的思想
虚拟头结点
反转指针
链表相交
环形链表
删除倒数第N个链表
哈希表
有字符串要统计或者使用哈希思路的,可以自己建立哈希表不用封装的数据结构
数组和公式间关系的,一般可能用到Hash
字符串
字符串匹配经典算法KMP(next数组)
很巧妙的字符串解题思路之leetcode 459. 重复的子字符串。
使用s+s包含除去首尾的s!
反转系列!
队列与栈
逆波兰表示(栈)
单调队列(区间最大值)
优先级队列
Tips
目前比较常用的方法:
双指针 模拟
技巧一点的方法:
滑动窗口
Tips
出现感觉要推数学公式的,不一定是要推公式,可能题目中有蕴含信息。