1. 兩數之和
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。
示例:
給定 nums = [2, 7, 11, 15], target = 9思路:因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
使用hash表,kv對為值-下標,遍歷到nums[i]時邊放入hash表並檢查是否存在target-nums[i]
class
solution
; map.
put(nums[i]
,i);
}return null;
}}
2. 兩數相加
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存一位數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。
示例:
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)思路:輸出:7 -> 0 -> 8
原因:342 + 465 = 807
參考codeinterview一書
class
solution
if(l2 != null)
s = n1 + n2 + ca;
//進製和 和if(
(ca = s/10)
==1&&(s=s-10)
>0)
;
node =
newlistnode
(s);
pre.next = node;
pre = node;
}//處理最後有進製的情況
if(ca ==1)
return head.next;
}}
11.盛最多水的容器
給定 n 個非負整數 a1,a2,…,an,每個數代表座標中的乙個點 (i,ai) 。在座標內畫 n 條垂直線,垂直線i的兩個端點分別為 (i, ai) 和 (i, 0)。找出其中的兩條線,使得它們與x 軸共同構成的容器可以容納最多的水。
圖中垂直線代表輸入陣列[1,8,6,2,5,4,8,3,7]。在此情況下,容器能夠容納水(表示為藍色部分)的最大值為 49。
示例:
輸入: [1,8,6,2,5,4,8,3,7]說明:你不能傾斜容器,且 n 的值至少為 2。輸出: 49
class
solution
return ans;
}}
15.三數之和
給定乙個包含n個整數的陣列nums,判斷nums中是否存在三個元素a,b,c,使得a+b+c=0?找出所有滿足條件且不重複的三元組。
注意:答案中不可以包含重複的三元組。
例如, 給定陣列 nums = [-1, 0, 1, 2, -1, -4],
滿足要求的三元組集合為:
[[-1, 0, 1],[-1, -1, 2]]
思路:
每次選定乙個數nums[i]後往後使用雙指標查詢-nums[i],轉化的二元組的問題
class
solution
else
if(nums[l]
+ nums[r]
>
-nums[i]
)else}}
}}return ans;
}}
**號碼的字母組合
給定乙個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下(與**按鍵相同)。注意 1 不對應任何字母。
示例:
輸入:「23」說明:輸出:[「ad」, 「ae」, 「af」, 「bd」, 「be」, 「bf」, 「cd」, 「ce」, 「cf」].
儘管上面的答案是按字典序排列的,但是你可以任意選擇答案輸出的順序。
class
solution
string[
] map =
;//用來儲存數字代表的字串
string[
] str =
newstring
[digits.
length()
];for(
int i =
0; i < digits.
length()
; i++
)collect
(ans, str,"",
0);return ans;
}private
void
collect
(list
ans, string[
] str, string tmpans,
int i)
for(
char c : str[i]
.tochararray())}}
leetcode刷題記錄第五題
題目 給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 什麼叫回文串?如果乙個字串正著讀和反著讀是一樣的,那它就是回文串。此題有暴力破解法,即遍歷所有子...
每日五題 Spring
控制反 spring通過控制反轉實現了鬆散耦合,物件們給出它們的依賴,而不是建立或查詢依賴的物件們。面向切面的程式設計 aop spring支援面向切面的程式設計,並且把應用業務邏輯和系統服務分開。容器 spring 包含並管理應用中物件的生命週期和配置。事務管理 spring 提供乙個持續的事務管...
leetCode第五題 最長回文子串
題目 給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。用例 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。輸入 cbbd 輸出 bb 本題採用動態規劃演算法進行題解,關於動態規劃可以查詢一些關於他的資料,本題目屬於比較簡易的規劃演算法,只要找到...