2021-08-12 数组(字符串):经验总结

96 阅读1分钟

2021-08-12 数组(字符串):经验总结

  • 关于字符串的各种情况,需要规范:数字/字母/大小写,注意测试边界,没有字母/中间空两个等等

  • 子集切割:1. 递归构造 2. 直接枚举 3. 回溯(dfs)

  • 涉及动态规划/记忆背包问题:

    • python中使用@cache@lru_cache一个解释。需要特别注意的是,使用的函数是有条件的,否则会报 *** “TypeError: unhashable type: ‘list’ ” *** ,我推测这是因为里边是使用hashlist存储的,具体原因展不可考,出现此处报错是在单词拆分一题的dfs解法
    • 找状态转移方程,边界条件,画图看具体动规方向
  • 节省资源,不需要时只记录下标而不截取子串,最后再截取即可

  • 字符串是不可变的,但是很有意思的是内置函数reversed(str:s)居然是原地交换(同样的可变对象的.reverse()方法也是原地交换),我越来越爱python啦

  • 操作数字,抓住特性:

    • 众数:可以使用中位数/随机数的方法
    • 中位数:二分法
    • 平均数