摘要:
刷 July 13 2019 这个比一般的M难一点,好多要解决的地方 1 中间可1可2 2 DFS的permutation也不容易 3 用StringBuilder容易弄错,reverse()会导致回溯的时候没有恢复,毕竟setLength()只是恢复长度 Time: 遍历O(n) 统计 O(n) 阅读全文
posted @ 2016-10-17 12:03
哇呀呀..生气啦~
阅读(174)
评论(0)
推荐(0)
摘要:
traverse的时候要知道每个NODE是在第几列。 我用的方法是DFS,传入的时候记录NODE是 左起 第几列,还要知道最左边是第几列。 一开始最左边是第0列,ROOT是坐起第0列。 进入方程之后,如果这一列不存在,列数 =size(),手动添加。其实相当于往右添加列 然后看左边是否有left c 阅读全文
posted @ 2016-10-17 09:20
哇呀呀..生气啦~
阅读(137)
评论(0)
推荐(0)
摘要:
因为要多次查询,每次都遍历肯定不行,所以要保存信息。 最直接的就是保存每个string出现的位置,查询A,B的时候就直接比较他们所有的出现INDEX中最小的情况。 有一点需要注意的是,A出现的位置和B出现的位置都是按顺序添加的,从小到大。 假设M是A出现的一个位置,N是B出现的一个位置,我们首先更新 阅读全文
posted @ 2016-10-17 07:49
哇呀呀..生气啦~
阅读(206)
评论(0)
推荐(0)
摘要:
以最左边为开始,往右遍历,不一样的个数大于K的时候停止,回到第一个不一样的地方,以它为开始,继续。。 用QUEUE记录每次不一样的INDEX,以便下一个遍历开始, 从左往右,从右往左各来一次。。加上各种剪枝情况,比如未遍历的数量当前最大值res 的情况下,我们才看是否满足 others most + 阅读全文
posted @ 2016-10-17 06:16
哇呀呀..生气啦~
阅读(1206)
评论(1)
推荐(0)
摘要:
这个题做得突出一个蠢字。。 思路就是看unique letter,因为题里说肯定是valid string。。 一开始有几个Z就有几个ZERO 同样的还有x for six, g for eight, w for two.. 比如有x个six,那剩下的i的字母数量要 x,s =x... 算完0682 阅读全文
posted @ 2016-10-17 05:08
哇呀呀..生气啦~
阅读(250)
评论(0)
推荐(0)
摘要:
似乎可以沿着对角线往右往下检查,也可以正常按题设检查。 我用的后者。。 二刷。 尝试了对角线,居然卡了…… 老老实实正常做了。 逐渐在适应 GOOGLE JAVA DOC STYLE的排版。 java public class Solution { public boolean validWordS 阅读全文
posted @ 2016-10-17 04:09
哇呀呀..生气啦~
阅读(263)
评论(0)
推荐(0)