摘要:?jiǎn)栴}解答這個(gè)無(wú)非就是時(shí)間換空間,空間換時(shí)間的計(jì)算時(shí)間換空間不能可能安原位來(lái)空間換時(shí)間快速查找可以用來(lái)做
問(wèn)題:
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].
解答:
這個(gè)無(wú)非就是時(shí)間換空間,空間換時(shí)間的計(jì)算:
1.時(shí)間換空間:
//不能sort, 可能安原位來(lái) 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.空間換時(shí)間
//快速查找可以用hashmap來(lái)做 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; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64835.html
摘要:找符合條件的總數(shù)。雙指針區(qū)間考慮邊界,長(zhǎng)度,為空,等。之后的范圍用雙指針和表示。若三個(gè)指針的數(shù)字之和為,加入結(jié)果數(shù)組。不要求,所以不用判斷了。同理,頭部?jī)蓚€(gè)指針向后推移,后面建立左右指針夾逼,找到四指針和為目標(biāo)值的元素。 Two Sum Problem Given an array of integers, find two numbers such that they add up ...
摘要:解題思路題目要求兩個(gè)數(shù)和等于,返回其題目說(shuō)明不會(huì)有重復(fù)情況,所以我們一旦發(fā)現(xiàn)符合情況的,就可以直接結(jié)束循環(huán)并返回。特殊情況就是正好等于,那肯定是最接近的情況,直接返回即可。 Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific ta...
摘要:如果沒有,就到里面復(fù)雜度分析就是,因?yàn)橹粧吡艘槐閿?shù)組。復(fù)雜度分析當(dāng)然就是最壞情況了,也是標(biāo)準(zhǔn)的雙指針復(fù)雜度。復(fù)雜度分析這種題應(yīng)該不太需要分析復(fù)雜度吧,能實(shí)現(xiàn)就行。復(fù)雜度分析還是最后再說(shuō)兩句所以可以看出,很多題目思路一致,換湯不換藥。 Two Sum 友情提示:篇幅較長(zhǎng),找題目的話,右邊有目錄,幸好我會(huì)MarkDown語(yǔ)法。改成了系列模式,因?yàn)轭愃频念}不少,本質(zhì)上都是換殼,所以在同一篇文...
摘要:給出兩個(gè)非空的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。需要考慮到兩個(gè)鏈表長(zhǎng)度不同時(shí)遍歷方式鏈表遍歷完成時(shí)最后一位是否需要進(jìn)一位。 ?給出兩個(gè) 非空 的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ) 一位 數(shù)字。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。 ...
摘要:給出兩個(gè)非空的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。需要考慮到兩個(gè)鏈表長(zhǎng)度不同時(shí)遍歷方式鏈表遍歷完成時(shí)最后一位是否需要進(jìn)一位。 ?給出兩個(gè) 非空 的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ) 一位 數(shù)字。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。 ...
摘要:控制容器內(nèi)容元素和空白空間在主軸方向?qū)R。子元素相鄰的不會(huì)發(fā)生合并。三深入了解規(guī)則如果存在正自由空間,則采用組合計(jì)算子元素在主軸上的比例。 背景 flex布局更有效的實(shí)現(xiàn)對(duì)齊,空間分配。最近又學(xué)習(xí)下flex子元素的尺寸計(jì)算規(guī)則,主要是flex-grow, flex-shrink的計(jì)算規(guī)則的學(xué)習(xí)。 一、基本概念 showImg(https://user-images.githubuser...
閱讀 2249·2021-11-24 11:15
閱讀 3100·2021-11-24 10:46
閱讀 1400·2021-11-24 09:39
閱讀 3933·2021-08-18 10:21
閱讀 1488·2019-08-30 15:53
閱讀 1402·2019-08-30 11:19
閱讀 3335·2019-08-29 18:42
閱讀 2333·2019-08-29 16:58