leetcode演算法題 劍指Offer篇(20)

2021-10-24 02:26:41 字數 1092 閱讀 3456

1.1 題目描述:

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得它們的和正好是s。如果有多對數字的和等於s,則輸出任意一對即可。

1.2 題解

1.2.1 雙指標

public

int[

]twosum

(int

nums,

int target)

;else

if(temp < target) i++

;else j--;}

return res;

}

2.1 題目描述:
輸入乙個正整數 target ,輸出所有和為 target 的連續正整數序列(至少含有兩個數)。

序列內的數字由小到大排列,不同序列按照首個數字從小到大排列。

2.2 題解

2.2.1

public

int[

]findcontinuoussequence

(int target)

else

if(sum > target)

else

res.

add(arr)

;// 左邊界向右移動

sum -= i;

i++;}

}return res.

toarray

(new

int[res.

size()

]);}

3.1 題目描述:
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串"i am a student. 「,則輸出"student. a am i」。

3.2 題解

3.2.1 雙指標

public string reversewords

(string s)

return res.

tostring()

.trim()

;// 轉化為字串並返回

}

leetcode演算法題 劍指Offer篇(1)

1.1 題目描述 在乙個長度為 n 的陣列 nums 裡的所有數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。1.2 題解 1.2.1 利用map結構public intfindrepeatnumber i...

leetcode演算法題 劍指Offer篇(13)

1.1 題目描述 陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。1.2 題解 1.2.1 摩爾投票法 驗證 x 是否為眾數 for int num nums if num i count return count nums.length 2?i 0 當無眾數時返回 0 2.1 題目描...

leetcode演算法題 劍指Offer篇(17)

1.1 題目描述 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。1.2 題解 1.2.1 暴力求解 public intreversepairs int nums return count 1.2.2 歸併排序public...