1.除了leetcode以外的一个刷题网址:https://www.acwing.com/problem/
判断相等的方法:AB? A-B 0
leetcode中计数的问题一般有两种思路:
边界范围相乘
分阶段累加
DP,动态编程。
动态说的是问题规模不断变大,操作步数不断增加。
具有相同性质的一些元素可以看做一个整体
一定要善于使用差值
差值是DP的状态转移
差值是相同元素的判断
差值是差分数组的关键
如果要求解的问题和元素本身的位置没有关系,那么可以使用排序便于分析。
计算表达式的值要注意符号的优先级
第一步要思考的就是区间
操作的区间,取值的区间
表达式的计算可以借助数据结构「栈」完成,特别是带有括号的表达式。我们将暂时还不能确定的数据存入栈,确定了优先级最高以后,一旦可以计算出结果,我们就把数据从栈里取出,整个过程符合「后进先出」的规律
解析string转化为int时一定要注意溢出问题
树的特点:两点之间只有一条路径,注意理解记忆树的三种遍历方式
维护有序子集,便于查询对比。
动态规划的状态设计原则:无后效性