TapeEquilibrium测试
好吧,我一开始都是拿的41分,由于没有彻底理解题意,边界条件很重要。ui
肯定边界条件之后就一遍过了。另外本身应该好好准备一些边界测试用例。spa
1 def solution(A): 2 left, right, total = A[0], 0, sum(A) 3 res = abs(total - left * 2) 4 for i in range(1, len(A) - 1): # N > P > 0 5 left += A[i] 6 right = total - left 7 if abs(left - right) < res: 8 res = abs(left - right) 9 if res == 0: 10 break 11 return res
PermMissingElem
code
1 def solution(A): 2 n = len(A) 3 expect = (1 + n + 1) * (n + 1) / 2 4 total = sum(A) 5 return expect - total
FrogJmpblog
这一题我也拿了44分先,由于O(n)的遍历作加法,可是基础知识是数学,能够用除法解决的问题。数学
想起我以前Google电面有过一道题,power的实现,能够循环调用。io
因此数学也很重要。边界继续重要,有没有余数决定结果是否须要加一class
1 def solution(X, Y, D): 2 if X >= Y: 3 return 0 4 if (Y - X) % D == 0: # equal 5 return (Y - X) / D 6 return (Y - X) / D + 1