摘要:問題解答這個無非就是時間換空間,空間換時間的計算時間換空間不能可能安原位來空間換時間快速查找可以用來做
問題:
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
解答:
這個無非就是時間換空間,空間換時間的計算:
1.時間換空間:
//不能sort, 可能安原位來 public int[] twoSum(int[] nums, int target) { int[] result = new int[2]; if (nums == null || nums.length < 2) return result; for (int i = 0; i < nums.length - 1; i++) { for (int j = i + 1; j < nums.length; j++) { if (nums[i] + nums[j] == target) { result[0] = i; result[1] = j; return result; } } } return result; }
2.空間換時間
//快速查找可以用hashmap來做 public int[] twoSum(int[] nums, int target) { int[] result = new int[2]; if (nums == null || nums.length < 2) return result; Mapmap = new HashMap<>(); for (int i = 0; i < nums.length; i++) { if (map.containsKey(target - nums[i])) { result[1] = i; result[0] = map.get(target - nums[i]); } map.put(nums[i], i); } return result; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64835.html
摘要:找符合條件的總數。雙指針區間考慮邊界,長度,為空,等。之后的范圍用雙指針和表示。若三個指針的數字之和為,加入結果數組。不要求,所以不用判斷了。同理,頭部兩個指針向后推移,后面建立左右指針夾逼,找到四指針和為目標值的元素。 Two Sum Problem Given an array of integers, find two numbers such that they add up ...
摘要:解題思路題目要求兩個數和等于,返回其題目說明不會有重復情況,所以我們一旦發現符合情況的,就可以直接結束循環并返回。特殊情況就是正好等于,那肯定是最接近的情況,直接返回即可。 Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific ta...
摘要:如果沒有,就到里面復雜度分析就是,因為只掃了一遍數組。復雜度分析當然就是最壞情況了,也是標準的雙指針復雜度。復雜度分析這種題應該不太需要分析復雜度吧,能實現就行。復雜度分析還是最后再說兩句所以可以看出,很多題目思路一致,換湯不換藥。 Two Sum 友情提示:篇幅較長,找題目的話,右邊有目錄,幸好我會MarkDown語法。改成了系列模式,因為類似的題不少,本質上都是換殼,所以在同一篇文...
摘要:給出兩個非空的鏈表用來表示兩個非負的整數。如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。需要考慮到兩個鏈表長度不同時遍歷方式鏈表遍歷完成時最后一位是否需要進一位。 ?給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式存儲的,并且它們的每個節點只能存儲 一位 數字。如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。 ...
摘要:給出兩個非空的鏈表用來表示兩個非負的整數。如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。需要考慮到兩個鏈表長度不同時遍歷方式鏈表遍歷完成時最后一位是否需要進一位。 ?給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式存儲的,并且它們的每個節點只能存儲 一位 數字。如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。 ...
摘要:控制容器內容元素和空白空間在主軸方向對齊。子元素相鄰的不會發生合并。三深入了解規則如果存在正自由空間,則采用組合計算子元素在主軸上的比例。 背景 flex布局更有效的實現對齊,空間分配。最近又學習下flex子元素的尺寸計算規則,主要是flex-grow, flex-shrink的計算規則的學習。 一、基本概念 showImg(https://user-images.githubuser...
閱讀 2236·2021-11-24 11:15
閱讀 3080·2021-11-24 10:46
閱讀 1378·2021-11-24 09:39
閱讀 3924·2021-08-18 10:21
閱讀 1478·2019-08-30 15:53
閱讀 1395·2019-08-30 11:19
閱讀 3321·2019-08-29 18:42
閱讀 2321·2019-08-29 16:58