知識點3:歸納法
知識點4:數列
知識點5:幾何
立體幾何
知識點6: 快慢指標
知識點7: 異或
知識點8: 最大數字限制
知識點9:大數求餘
第一次寫筆記,持續更新中。。。
方法一:轉化成string遍歷
方法二:每次除以10取餘數 (x % 10)
二進位制轉十進位制
int
(x,2
)
十進位制轉二進位制
bin
(x)
#1009. 十進位制整數的反碼
#171. excel表列序號
#13. 羅馬數字轉整數 (通過字典轉換)
#1317. 將整數轉換為兩個無零整數的和
當正確情況比錯誤情況多的多時,用隨機法生成是乙個好方法
#1025. 除數博弈:偶數先手贏,奇數先手輸
#258. 各位相加
return
(num -1)
%9+1
#268. 缺失數字
#1103. 分糖果 ii
一般來說可以使用動態規劃去計算楊輝三角某一行的值,當然,也可以直接用楊慧三角的公式來計算
獲取楊輝三角的指定行三角形面積計算:直接使用組合公式c(n,i) = n!/(i!*(n-i)!)
則第(i+1)項是第i項的倍數=(n-i)/(i+1);
海**式
p =
(a + b + c)/2
s = sqrt(p *
(p - a)
*(p - b)
*(p - c)
)
鞋帶公式
鞋帶公式計算公式解析
#976. 三角形的最大周長
#883. 三維形體投影面積 (題目不太嚴謹)
#892. 三維形體的表面積
這題我的第一反應是三檢視面積相加x2,但是發現答案並不對,原因是這個方法漏了中間凹進去的部分的表面積
迴圈問題使用快慢指標可以解決,只要有相遇說明就有迴圈
#202. 快樂數
#231. 2的冪
#268. 缺失數字
在驗證乙個數字是不是某個數字的冪是,可以先求出int範圍內該數字冪的最大值,然後直接判斷能否被最大數整除
#231. 2的冪
#326. 3的冪
首先需要知道大數越界這乙個概念,當指數增長時,結果會幾何倍數增長,有可能會超過 int32 或者 int64 的取值範圍,結果會返回錯誤,就無法對某個數求餘,所以接下來的方法就是如何解決大數求餘(該問題不需要在python中考慮)。
# 求 (x^a) % p —— 迴圈求餘法
defremainder
(x, a, p)
: rem =
1for _ in
range
(a):
rem =
(rem * x)
% p return rem
14-ii-jian-sheng-zi-iitan-xin-er-fen-f/
# 求 (x^a) % p —— 快速冪求餘
defremainder
(x, a, p)
: rem =
1while a >0:
if a %
2: rem =
(rem * x)
% p x = x **
2% p
a //=
2return rem
14-ii-jian-sheng-zi-iitan-xin-er-fen-f/
leetcode刷題筆記 陣列2
給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在多數元素。這道題主體思想是雜湊對映。python的字典就使用了hash的思想。直接貼 class solution def majorityelement s...
leetcode刷題筆記 陣列3
給定乙個整數陣列,判斷是否存在重複元素。如果任何值在陣列 現至少兩次,函式返回 true。如果陣列中每個元素都不相同,則返回 false。這裡的解答用到了投機取巧的一種方法,使用set函式 class solution def containsduplicate self,nums list int...
leetcode刷題筆記 陣列7
給定乙個排序陣列,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在 原地 修改輸入陣列 並在使用 o 1 額外空間的條件下完成。class solution def removeduplicates self,nums list i...