麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

每天一題LeetCode [第二天]

2019-11-11 06:56:13
字體:
來源:轉載
供稿:網友

每天一題LeetCode[第二天]


ToSum

Description:

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

Example:

Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].

解題過程:

首先題意十分簡單易懂,給你一個整數類型的數組,在給你一個整數target,找出相加等于target的兩個數的indices。

第一個思路就是窮舉查找滿足條件的兩個數,時間復雜度o(n^2),這是誰都能想到的思路,最好的結果肯定不是這樣。優化:基于這樣的思路,去除不可能的結果把數組中大于target的數去掉 減少n的值,但是這種復雜度也是o(n^2) 在細想,發現,只要基于這樣的思想是沒辦法繼續優化的。必須發現target 與兩個結果 之間的特殊關系。

看了top solution 真是佩服!怎么說呢,這樣吧,a+b=c 那么如果說對于nums來說,在遍歷過程中能提前知道每個數字相對于c的補數,并且知道這個數的下表,那么這一切就很簡單了。 因為是a+b=c 所以不用擔心一次循環會錯過結果,因為一定會經過a 和b的。 當經過a的時候 就記錄下b的值 和 a的下標 這樣在經過b的時候就知道 喔這就是我要的答案。 細想了一下,就是讓每一步計算 的結果都有意義,相比于第一個結果很明顯的是,第一種思路 ,每一步的計算意義都是為了從總的可能數中減去一,或者可以這樣說,每一步的計算 之間關聯不大,所以每一步的計算都顯得繁瑣。而第二種的思路,把每一步的計算的信息保存下來,對下一次的計算都起到了極大的幫助,大大簡化了計算量。

top solution對java集合類很熟悉,運用了map的數據結構特點(索引快,),雖然增加了存儲空間,但是時間復雜度在這個時代才是關鍵。


Java代碼:

public class TwoSum { PRivate static final String TAG = TwoSum.class.getSimpleName(); public static void main(String[] agrs) { int[] nums = {2, 5, 3, 6}; int target = 5; int[] result =toSum(nums,target); System.out.println("result 1 :"+result[0]+" 2: "+result[1]); } public static int[] toSum(int[] nums, int target) { if (null == nums) { return null; } HashMap<Integer, Integer> pair = new HashMap<>(); int[] result = new int[2]; for (int i = 0; i < nums.length; i++) { if (pair.containsKey(nums[i])) { result[0] = pair.get(nums[i]); result[1] = i; } else { pair.put(target - nums[i], i); } } return result; }}

提高代碼質量就是:每天積累精美的思路,優質的細節的過程。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 91丨九色丨国产在线观看 | 国产在线久 | 国产午夜精品一区二区三区嫩草 | 国产激情精品一区二区三区 | 欧美一级片 在线播放 | 国产一级αv片免费观看 | 黄片一级毛片 | 色七七网站 | 蜜桃网站在线 | av中文在线观看 | 一级毛片在线视频 | 国产成人网 | 毛片免费观看视频 | 视频一区二区三区中文字幕 | 一区二区三区欧美在线观看 | 久久av喷吹av高潮av懂色 | 色婷婷一区二区三区 | 成人免费午夜视频 | 国毛片| 久久精精品 | 日本网站一区 | 欧美大穴| 国产高潮失禁喷水爽到抽搐视频 | 国产精品视频六区 | 日本欧美一区二区三区在线播 | 黄色影院| 欧美精品日日鲁夜夜添 | 羞羞的视频在线观看 | 欧美1—12sexvideos | 一级电影免费看 | 九九热精品视频在线 | 91久久在线观看 | 久久综合久久精品 | 国产精品av久久久久久网址 | 久久久久久久久久一本门道91 | 日韩激情在线视频 | 欧美激情第一区 | 国产九九九九 | 91av资源在线 | 91精品一区二区综合在线 | 国产亚洲精品精 |