2021-08-12 数组(字符串):经验总结
-
关于字符串的各种情况,需要规范:数字/字母/大小写,注意测试边界,没有字母/中间空两个等等
-
子集切割:1. 递归构造 2. 直接枚举 3. 回溯(dfs)
-
涉及动态规划/记忆背包问题:
- python中使用
@cache或@lru_cache:一个解释。需要特别注意的是,使用的函数是有条件的,否则会报 *** “TypeError: unhashable type: ‘list’ ” *** ,我推测这是因为里边是使用hashlist存储的,具体原因展不可考,出现此处报错是在单词拆分一题的dfs解法 - 找状态转移方程,边界条件,画图看具体动规方向
- python中使用
-
节省资源,不需要时只记录下标而不截取子串,最后再截取即可
-
字符串是不可变的,但是很有意思的是内置函数
reversed(str:s)居然是原地交换(同样的可变对象的.reverse()方法也是原地交换),我越来越爱python啦 -
操作数字,抓住特性:
- 众数:可以使用中位数/随机数的方法
- 中位数:二分法
- 平均数