Minimum Number of Keypresses
给一个可以任意摆放的keypad和一个字符串, 求如果得到这个字符串最少按几次keypad. 因为keypad只有0-9, 所以这题和频率大小有关, 贪婪算法.
给一个可以任意摆放的keypad和一个字符串, 求如果得到这个字符串最少按几次keypad. 因为keypad只有0-9, 所以这题和频率大小有关, 贪婪算法.
给一个二叉树, 求树中有几个node的左子树和右子树的平均值等于root的值。、 这题就算dfs算一下即可。
给一个字符串组, 和一个string, 求这个string有几个prefix在这个数组里.
给一个数, 给一个数组, 删除树上的数组的节点. 然后返回删除后的森林(不连接的节点) 这题注意的是删完后要看下是否有root….
给一个数组,里面是灯能覆盖的范围, 给一个数组, 里面是requirement, 求有多少个位置的灯meet requirement. 这题就是range addition升级版, 因为要考虑inclusive的覆盖问题,所以建数组的时候, 我们多加一个数. 这样相当于把数组扩展了1位.
给两个字符串, 长度一样, 是字符对应的mapping, 给一个字符串, 求mapping后字典序最小的结果. 典型的并查集模板题.
给两个数组,a和b, 两个人从[1,a]的正整数轮流取数, 不能取相同的数字, 不能取了就算输了, 两个人都是选择自己最佳方案, 求胜负. 看似博弈论, 起始就是便利所有可能, 没有优化的地方. 这题傻逼在于, 它非要让状态压缩, 就tm一个最大32个数字的boolean数组, 非让用bitmask压一下表示状态, 不然就TLE, 我真是服了
给一个长度为length的数组和一个update[from, to, val]query. 求跑完query的结果. 这题用一个diff数组记录变化的起始和结果的地方, 这里可以看成累计频率的记录. 所以在结果的时候要把累积多余的val减去.
给一个数字n, 按照以下处理后, 求结果第k个大的数字是什么. if x is even then x = x / 2 if x is odd then x = 3 * x + 1 肯定要算下的, 用memo算下, 然后建个map存下, 然后排序, 然后找第k个.
给n个人, 坐n个座位, 第一个人随机选, 问第n个人坐到自己座位的概率. 这题就多写几个例子就行了