ARTS Week 20
ARTS Week 20
你沒能拯救你母親是因為你沒有力量,而我沒有與巨人對抗是因為我沒有勇氣。 --《進擊的巨人》
Algoithm
概述
給定一個二叉樹,找到最長的路徑,這個路徑中的每個節點具有相同值。 這條路徑可以經過也可以不經過根節點。
注意:兩個節點之間的路徑長度由它們之間的邊數表示。
示例 1:
輸入:
5
/ \
4 5
/ \ \
1 1 5
輸出:
2
示例 2:
輸入:
1
/ \
4 5
/ \ \
4 4 5
輸出:
注意: 給定的二叉樹不超過10000個結點。 樹的高度不超過1000。
分析
遞迴的幾個核心問題:
- 輸入引數
- 輸出結果
- 函式功能
- 終止條件
方法論:
- 將二叉樹看成 左子樹/根節點/右子樹
- 左/右子樹最長同值路徑
code
# Definition for a binary tree node.
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
class Solution:
def __init__(self):
self.max_num = 0
def longestUnivaluePath(self, root: TreeNode) -> int:
self.dfs(root)
return self.max_num
def dfs(self,root):
if not root:
return 0
left_length = self.dfs(root.left)
right_length = self.dfs(root.right)
left_arrow = right_arrow = 0
# 如果分別計算左右子樹的同步
if root.left and root.val == root.left.val:
left_arrow = left_length + 1
if root.right and root.val == root.right.val:
right_arrow = right_length + 1
self.max_num = max(self.max_num,left_arrow+right_arrow)
return max(left_arrow,right_arrow)
Review
Software Architecture: The Most Important Architectural Patterns You Need to Know
概述
本文主要講述了一些事例:
- Layered Architecture
- Pipe and Filter
- Client Server
- Model View Controller
- Event Driven Architecture
- Microservices Architecture
Layered Architecture
大部分的分層模式可以分為:
- presentation
- business
- persistence
- database.
Tip
概述
框架:
-
現狀 :我們在哪裡,現狀是什麼樣的?
-
需求:我們的問題或訴求是什麼,要做何改進?
-
需求滿足方式:
- 要做成什麼樣,交付物規格,或者說使用介面(介面)是什麼?
- 怎麼做到?交付物的實現原理。
程式 = 資料結構 + 演算法
Share
概述
靜水流深,滄笙踏歌
相關文章
- ARTS:第 1 期
- ARTS (第一週)
- Arts 第二週 20190331
- Arts 第一週 20190325
- ARTS 挑戰(第三週)
- ARTS 挑戰(第二週)
- nowcoder Week Contest
- Week 4 Problems
- Week 11 Problems
- ARTS打卡計劃第一週
- 左耳聽風.ARTS 打卡 (第6周)
- 左耳聽風打卡.ARTS (第5周)
- 左耳聽風打卡.ARTS (第4周)
- 左耳聽風打卡.ARTS (第2周)
- 左耳聽風打卡.ARTS (第1周)
- 【Google Arts & Culture】2018-09-08週六Go
- ARTS第十三週(閱讀Tomcat原始碼)Tomcat原始碼
- Newstar_week1-2_wp
- WEEK5|WEB Unserialize AgainWebAI
- NewStarCTF WEEK5|WEB pppython?WebPython
- [HGAME 2023 week3]kunmusicinGAM
- week2—南苑速遞
- HGAME-week2-web-wpGAMWeb
- hgame-week3-web-wpGAMWeb
- 備戰noip week8
- 研發週記(second week)
- 學習總結(first week)
- HCI 筆記 | Week 06 Prototyping筆記
- 24暑集訓Week1
- 2024 Mar. Week-3 Summary
- 【Coursera GenAI with LLM】 Week 2 PEFT Class NotesAI
- Week 8 Problems 幽夜默示錄
- MySQL內建函式:year()、 week()相容MySql函式
- week8 數學訓練一
- HTML input week帶周calendar控制元件HTML控制元件
- Arts|Basel & UBS:2022年環球藝術收藏調查報告
- 2024base新生賽week4pwn——ezstack
- The 1st week summary of devtools community in learnku.comdevUnity