LeetCode Sama的個人記錄 12

2021-10-06 07:33:51 字數 2636 閱讀 3912

【q1371】(md)每個母音包含偶數次的最長字串

給你乙個字串 s ,請你返回滿足以下條件的最長子字串的長度:每個母音字母,即 『a』,『e』,『i』,『o』,『u』 ,在子字串中都恰好出現了偶數次。

示例 1:

輸入:s = 「eleetminicoworoep」

輸出:13

解釋:最長子字串是 「leetminicowor」 ,它包含 e,i,o 各 2 個,以及 0 個 a,u 。

示例 2:

輸入:s = 「leetcodeisgreat」

輸出:5

解釋:最長子字串是 「leetc」 ,其中包含 2 個 e 。

示例 3:

class

solution

if(state.

containskey

(currentstate))}

return maxlen;

}}

【q39】(md)組合總和

給定乙個無重複元素的陣列 candidates 和乙個目標數 target ,找出 candidates 中所有可以使數字和為 target的組合。

candidates 中的數字可以無限制重複被選取。

說明:所有數字(包括 target)都是正整數。 解集不能包含重複的組合。

示例 1:

輸入: candidates = [2,3,6,7], target = 7, 所求解集為: [ [7], [2,2,3] ]

示例2:

輸入: candidates = [2,3,5], target = 8, 所求解集為: [ [2,2,2,2], [2,3,3], [3,5] ]

class

solution

public list

> res =

newarraylist

<

>()

;private

void

traceback

(list

templist,

int[

] candidates,

int n,

int len,

int sum,

int target)

if(sum > target)

for(

int i = n ; i < len ; i++)}

}

【q40】(md)組合總和ⅱ

給定乙個陣列 candidates 和乙個目標數 target ,找出 candidates 中所有可以使數字和為 target 的組合。

candidates 中的每個數字在每個組合中只能使用一次。

說明:所有數字(包括目標數)都是正整數。 解集不能包含重複的組合。

示例 1:

輸入: candidates = [10,1,2,7,6,1,5], target = 8,

所求解集為: [ [1, 7], [1, 2, 5], [2, 6], [1, 1, 6] ]

示例 2:

輸入: candidates = [2,5,2,1,2], target = 5,

所求解集為: [ [1,2,2], [5] ]

class

solution

private list

> res =

newarraylist

<

>()

;private

void

traceback

(arraylist

templist,

int[

] candidates,

int layer,

int sum,

int target)

if(sum > target)

for(

int i = layer ; i < candidates.length ; i++

) templist.

add(candidates[i]);

traceback

(templist, candidates, i +

1, sum + candidates[i]

, target)

; templist.

remove

(templist.

size()

-1);

// 手動回溯templist的狀態}}

// 在重複一遍本題避免重複的關鍵**:if(candidates[i] == candidates[i - 1] && i > layer)

}

qs from

♥ loli suki

♣ end

LeetCode Sama的個人記錄 2

q7 ez 整數反轉給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根...

LeetCode Sama的個人記錄 7

q31 md 下乙個排列 實現獲取下乙個排列的函式,演算法需要將給定數字序列重新排列成字典序中下乙個更大的排列。如果不存在下乙個更大的排列,則將數字重新排列成最小的排列 即公升序排列 必須原地修改,只允許使用額外常數空間。以下是一些例子 1,2,3 1,3,2 3,2,1 1,2,3 1,1,5 1...

LeetCode Sama的個人記錄 39

q141 ez 環形列表如果鍊錶中有某個節點,可以通過連續跟蹤 next 指標再次到達,則鍊錶中存在環。如果鍊錶中存在環,則返回 true 否則,返回 false 高階 使用常量空間 class solution listnode turtle head listnode rabbit head.n...