LC 数组与字符串 - 两数之和
生活随笔
收集整理的這篇文章主要介紹了
LC 数组与字符串 - 两数之和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
解題
這道題其實不難,一般人想到的就是暴力破解法,寫兩層循環做判斷就可以了;
但是我想的是能盡量花少的步驟和時間去做,具體想法是這樣的:遍歷一次,每次計算差值,然后判斷差值在不在當前數組,且不是當前值,比如:數組為【2,3,7,9】,目標是9,遍歷第一個值是2,用目標值9-2=7,然后查看7在不在數組中,且下標不是當前值的下標0,如果運氣好第一個值,第一次就找到了,就算運氣不好也只用遍歷一次。
源碼:
/*** @param {number[]} nums* @param {number} target* @return {number[]}*/ var twoSum = function(nums, target) {for(let i=0;i<nums.length;i++){let a = nums.indexOf(target - nums[i]);if(a > -1 && a != i){return [i,a];break;}} };結果
結果雖然不錯,但是還有更厲害的算法,繼續加油!
總結
以上是生活随笔為你收集整理的LC 数组与字符串 - 两数之和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python url拼接_python学
- 下一篇: 【ES9(2018)】for await