刷LeetCode的简易姿势

近期抽空刷了刷LeetCode,算是补补课。

由于不是很习惯直接在网页上Coding&Debug,所以还是在本地环境下进行编码调试,觉得基本OK后再在网页上提交。

主要采用Python3进行提交。方便起见,准备了一个基本的脚本demo,用于满足如下需求:

  • 记录题目和自己的题解,便于回溯;

  • 进行单元测试,在提交发生错误后,将出错的测试用例加入单元测试中,测试采用pytest框架;

  • 进行性能分析,由于题解一般都不长,使用line_profiler工具逐行进行分析,找到效率瓶颈,优化性能。

脚本Demo如下:

# 要求 & 说明

class Solution:
    def do_something(self, inputs):
        return

def test_solution():
    solu = Solution()
    inputs = []
    output = []
    assert solu.do_something(inputs) == output

if __name__ == '__main__':
    from line_profiler import LineProfiler
    
    solu = Solution()
    inputs = []
    lp = LineProfiler()
    lp_wrapper = lp(solu.do_something)
    lp_wrapper(inputs)
    lp.print_stats()
posted @ 2020-10-08 14:44  LyleChen  阅读(183)  评论(0编辑  收藏  举报