leetcode刷題之441 排列硬幣

2021-09-26 15:28:03 字數 992 閱讀 7506

示例 1:

n = 5

硬幣可排列成以下幾行:

¤¤ ¤

¤ ¤因為第三行不完整,所以返回2.

示例 2:

n = 8

硬幣可排列成以下幾行:

¤¤ ¤

¤ ¤ ¤

¤ ¤因為第四行不完整,所以返回3

class

solution

(object):

defarrangecoins

(self, n)

:"""

:type n: int

:rtype: int

"""i=

1while n>=0:

if n < i:

return i-

1 n = n - i

i+=1# 執行用時 : 748 ms, 在arranging coins的python提交中擊敗了25.25% 的使用者

# 記憶體消耗 : 12 mb, 在arranging coins的python提交中擊敗了0.00% 的使用者

class

solution

(object):

defarrangecoins

(self, n)

:"""

:type n: int

:rtype: int

"""for i in

range(1

,70000):

if n < i:

return i-

1 n = n - i

# 執行用時 : 1172 ms, 在arranging coins的python提交中擊敗了4.59% 的使用者

# 記憶體消耗 : 13.8 mb, 在arranging coins的python提交中擊敗了0.00% 的使用者

leetcode刷題python之第個排列

思路 對於長度為n的數字字串,第k位之後的排列可能有 n k 第一位之後的排列有 n 1 所以當如果k 1 n 1 則第一位就不能是1,為 k 1 n 1 k再變為 k 1 n 1 1,再判斷第二位為 k 1 n 2 k再變為 k 1 n 1 1,以此類推來判斷每一位的數字,使用k 1是因為減了1才...

LeetCode 441 排列硬幣

你總共有 n 枚硬幣,你需要將它們擺成乙個階梯形狀,第 k 行就必須正好有 k 枚硬幣。給定乙個數字 n,找出可形成完整階梯行的總行數。n 是乙個非負整數,並且在32位有符號整型的範圍內。執行用時 36ms 記憶體消耗 14mb 題後反思 這個時候就看出數學的用處了,一句話就可以代替注釋中的全部內容...

LeetCode 441 排列硬幣

你總共有 n 枚硬幣,你需要將它們擺成乙個階梯形狀,第 k 行就必須正好有 k 枚硬幣。給定乙個數字 n,找出可形成完整階梯行的總行數。n 是乙個非負整數,並且在32位有符號整型的範圍內。示例 1 n 5 硬幣可排列成以下幾行 因為第三行不完整,所以返回2.示例 2 n 8 硬幣可排列成以下幾行 因...