近期抽空刷了刷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()