每周至少做一个leetcode 的算法题
https://leetcode-cn.com/problems/longest-increasing-subsequence/
我的思路是建一个辅助结构,复杂度O(n**2)
,不是最佳解法
定义一个辅助类,一个哨兵节点root = Node(float('inf'))
,从后往前遍历nums
,调用root.append
得到对应的高度,最大的高度即为所求。
class Node(object):
def __init__(self, val):
self.val = val
self.next = []
def append(self, v):
if v >= self.val:
return 0
if not self.next or v > self.next[-1].val:
self.next.append(Node(v))
return 1
mx = 0
for node in self.next:
h = node.append(v)
if h > mx:
mx = h
return mx + 1
阅读并点评至少一篇英文技术文章
https://docs.djangoproject.com/en/2.2/topics/db/transactions/
具体的在 Django 事务总结中看吧。
学习至少一个技术技巧
Django 事务总结. todo. 待单抽出一篇来
至少分享一篇有观点和思考的技术文章
https://mp.weixin.qq.com/s/UHrJ-6ruC_HkhUXvWvDX0A
你写的代码是别人的噩梦吗?从领域建模的必要性谈起
比如做业务开发,感觉很容易用过程式写法,if-else 叠加。建议按领域建模的方法做重构。