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...