日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lc 三数之和

發布時間:2024/3/26 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lc 三数之和 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


思路:
第一步: 給數組排序
第二部: 從前往后遍歷數組
i為第一個值下標; left為i后一位下標; right為數組最后一位下標
然后三個下標所對應的值相加: 分3種情況

如果和為0; 就把3個下標所對應的值放入答案數組; 同時left往后移動一位; 如果移動后的下標所對應的值與前一位一樣那么left繼續往后移直到不一樣(防止取到相同的答案);
如果和大于0; right往左移動一位
如果和小于0; left往右移動一位

/*** @param {number[]} nums* @return {number[][]}*/ var threeSum = function(nums) { let res = []; nums = nums.sort((a,b)=>a-b) for(let i = 0;i<nums.length-2;i++){if(i>0&&nums[i]==nums[i-1])continuelet left = i+1;let right = nums.length-1;while(left<right){let sum = nums[i]+nums[left]+nums[right]if(sum==0){res.push([nums[i],nums[left],nums[right]]);left++;while(nums[left]==nums[left-1]){left++}}else if(sum>0){right--}else{left++} } } return res };

總結

以上是生活随笔為你收集整理的lc 三数之和的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。