python的leetcode效率細節

2021-09-19 01:26:38 字數 659 閱讀 6418

279. 完全平方數

下面兩端**,第乙個通過,第二個不通過

以下兩個問題待解決,

問題1:

dp += min(dp[-i*i] for i in range(1, int(len(dp)**0.5+1))) + 1,

問題2:

為什麼要加,號,為什麼self.dp和在函式中直接命名dp效率差別這麼大呢?

class solution(object):

_dp = [0]

def numsquares(self, n):

dp = self._dp

while len(dp) <= n:

dp += min(dp[-i*i] for i in range(1, int(len(dp)**0.5+1))) + 1,

return dp[n]

class solution(object):

def numsquares(self, n):

dp = [0]

while len(dp) <= n:

dp += min(dp[-i*i] for i in range(1, int(len(dp)**0.5+1))) + 1,

return dp[n]

Leetcode 100 python 相同的樹

給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true輸入 1 1 2 2 1,2 1,null,2 輸出 false輸入 1 1 2 1 1 2 1,2,1 1,1,2 ...

LeetCode 有效的數獨(python)

題目 判斷乙個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。數字 1 9 在每一行只能出現一次。數字 1 9 在每一列只能出現一次。數字 1 9 在每乙個以粗實線分隔的 3x3 宮內只能出現一次。上圖是乙個部分填充的有效的數獨 數獨部分空格內已填入了數字,空白格用 表...

LeetCode初級演算法的Python實現 鍊錶

之前沒有接觸過python編寫的鍊錶,所以這裡記錄一下思路。這裡前面的 是和leetcode中的一樣,因為做題需要呼叫,所以下面會給出。首先定義鍊錶的節點類。鍊錶節點 class listnode object def init self,x self.val x 節點值 self.next non...