zoukankan      html  css  js  c++  java
  • [codility] Lesson 1 Time Complexity

    TapeEquilibrium

    好吧,我一开始都是拿的41分,因为没有完全理解题意,边界条件很重要。

    确定边界条件以后就一遍过了。另外自己应该好好准备一些边界测试用例。

     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

    1 def solution(A):
    2     n = len(A)
    3     expect = (1 + n + 1) * (n + 1) / 2
    4     total = sum(A)
    5     return expect - total

    FrogJmp

    这一题我也拿了44分先,因为O(n)的遍历做加法,但是基础知识是数学,可以用除法解决的问题。

    想起我之前Google电面有过一道题,power的实现,可以循环调用。

    所以数学也很重要。边界继续重要,有没有余数决定结果是否需要加一

    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
  • 相关阅读:
    vue分享二维码
    Linux的软件安装
    linux命令操作
    禅道的使用方法
    测试管理工具的安装和介绍
    测试Bug
    软件缺陷和软件缺陷的种类
    测试计划和测试用例
    双肩包,椅子,电梯的测试用例
    软件生命周期的模型
  • 原文地址:https://www.cnblogs.com/t--c---/p/4731385.html
Copyright © 2011-2022 走看看