Leetcode演算法題(一)

2021-09-26 23:20:12 字數 826 閱讀 4142

兩數之和

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

你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。

示例:

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

方法一:暴力法

遍歷陣列中的每個元素a,並找到與target-a相同的值

class solution {

public int twosum(int nums, int target) {

for(int i =0;i時間複雜度為o(n²)

方法二:雜湊表

第一次遍歷,是將陣列中的元素以鍵值對的形式存進map中,

第二次遍歷,是判斷目標元素target-nums[i]是否存在表中,並且該目標元素不能是它本身

class solution {

public int twosum(int nums, int target) {

mapmap = new hashmap<>();

for(int i=0;i時間複雜度為o(n)

方法三:將加入hash表和判斷放入同乙個迴圈

class solution {

public int twosum(int nums, int target) {

mapmap = new hashmap<>();

for(int i=0;i時間複雜度為o(n)

leetcode 演算法刷題 一

今天開始刷leetcode上面的演算法題。我會更新我刷題過程中提交的 成功和不成功的都有 和比較好的解法 題目的意思 輸入兩個鍊錶,這兩個鍊錶都是倒序的數字,相加後返回倒序的鍊錶。比如 input 2 4 3 5 6 4 output 7 0 8 342 465 807 我的解法 思路很簡單,把兩個...

LeetCode 演算法題

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...

Leetcode演算法題

56.合併區間 給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 intervals 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 intervals 1,4 4,5 輸出 1,5 解釋 ...