2016年12月27日

390. Elimination Game - I really didn't expect it working so perfect

最开始的时候,我写的代码是这样的:
nums = range(n, 0, -1)

while len(nums) > 1:
    nums = nums[-2::-2]

毫无疑问,虽然答案对了,但是内存爆了。

于是搜了下其他人的答案,知道了思路是找左右点。然后有了下面的代码:
left, length ,step = 1, n, 1
right = left + (n - 1) * step

while length > 1:
    left += step        # Drop the first
    step <<= 1
    length >>= 1
    right = left + (length - 1) * step          # Get the right point.

    left, right = right, left
    step = ~step + 1

扔到PyCharm里调试,并和上面那个结果做Assert,居然完美通过,然后我就木凳狗带了——妈蛋我自己都只有个大概思路就撸了啊,没想到居然没什么错,这和我一贯以来20%的通过率不符啊……


2016年12月1日

312. Burst Balloons 继续趟pytho的坑……

这次被坑的是初始化二维数组……

[[0] * size] * size != [[0] * size for i in range(size)] == [[0 for i in range(size)] for i in range(size)]

然后读了读 http://ars.me/programming/2014/06/14/py-listmul/ 妥了……