leetcode 刷題記錄

2021-10-21 23:52:11 字數 1528 閱讀 4288

目錄

兩數之和  

給定乙個整數陣列 nums 和乙個整數目標值 target,請你在該陣列中找出 和為目標值 的那 兩個 整數,並返回它們的陣列下標。

你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。

你可以按任意順序返回答案。

輸入:nums = [2,7,11,15], target = 9

輸出:[0,1]

解釋:因為 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

using namespace std;

#include#includeclass solution ;}}

} return vector();

}};int main() ;//定義 int型別的向量

solution s;

vectorres;//定義乙個變數

res = s.twosum(inp, 9);

std::cout << res[0]<<","<# 2021-8-18

# 可以用字串表示乙個學生的出勤記錄,其中的每個字元用來標記當天的出勤情況(缺勤、遲到、到場)。記錄中只含下面三種字元:

# 'a':absent,缺勤

# 'l':late,遲到

# 'p':present,到場

# 如果學生能夠 同時 滿足下面兩個條件,則可以獲得出勤獎勵:

# 按 總出勤 計,學生缺勤('a')嚴格 少於兩天。

# 學生 不會 存在 連續 3 天或 連續 3 天以上的遲到('l')記錄。

# 給你乙個整數 n ,表示出勤記錄的長度(次數)。請你返回記錄長度為 n 時,可能獲得出勤獎勵的記錄情況 數量 。答案可能很大,所以返回對 109 + 7 取餘 的結果。

from functools import reduce

n=int(input())

if n==1:

print("1")

elif n==2:

print("9")# 兩個位置填寫三個字母 是9種 排除 第一種 aa其餘都可以

else:

#   根據缺勤和遲到的情況,第 n 天的狀態有 6 種:

#   ① 0 缺勤,到 n 天連續遲到 0 天。

#   ② 0 缺勤,到 n 天連續遲到 1 天。

#   ③ 0 缺勤,到 n 天連續遲到 2 天。

#   ④ 1 缺勤,到 n 天連續遲到 0 天。

#   ⑤ 1 缺勤,到 n 天連續遲到 1 天。

#   ⑥ 1 缺勤,到 n 天連續遲到 2 天

yi=1

er=n

san=n-1

si=n

wu=reduce(lambda x,y:x*y,range(1,n+1))/(2*reduce(lambda x,y:x*y,range(1,n-2+1)))# 組合 從n天種隨機取2天

liu=n*(n-2)

print(yi+er+san+si+wu+liu)

leetcode刷題記錄

我覺得每天來兩道,練習練習,再看看人家是怎麼優化的。1.給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。c 暴力求解,204ms,9.1m class solution for index,num in enumerate ...

LeetCode刷題記錄

動態規劃和貪心演算法的異同點 class solution throw newruntimeexception 時間複雜度 o n 2 對於每個元素,我們試圖通過遍歷陣列的其餘部分來尋找它所對應的目標元素,這將耗費 o n o n 的時間。因此時間複雜度為 o n 2 需要一種方法,尋找符合要求的元...

leetcode刷題記錄

工作之餘刷刷題排解下寂寞 1 面試題66.構建乘積陣列 解題思路 題目要求可以簡化為求陣列中任意乙個元素左右兩邊所有元素的乘積。偷懶就用了乙個套路,練習了p c c python class solution def constructarr self,a list int list int 除法是...