摘要:三數(shù)之和給定一個(gè)包含個(gè)整數(shù)的數(shù)組,判斷中是否存在三個(gè)元素,,,使得找出所有滿足條件且不重復(fù)的三元組。例如給定數(shù)組,滿足要求的三元組集合為答案參考
LeetCode15.三數(shù)之和 JavaScript
給定一個(gè)包含 n 個(gè)整數(shù)的數(shù)組 nums,判斷 nums 中是否存在三個(gè)元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重復(fù)的三元組。
注意:答案中不可以包含重復(fù)的三元組。
例如, 給定數(shù)組 nums = [-1, 0, 1, 2, -1, -4],
滿足要求的三元組集合為:
[[-1, 0, 1],[-1, -1, 2]]
答案參考:
/** * @param {number[]} nums * @return {number[][]} */ var threeSum = function(nums) { var result = new Array(); var len = nums.length; var flag = 0; var hash = {}; nums.sort((a, b) => { return a-b; }); if(nums[0] > 0 || nums[len - 1] < 0) return result; for(var i = 0; i < len; i++){ if(nums[i] === nums[i-1]) continue; flag = 0 - nums[i]; var start = i + 1, end = len - 1; while(start < end){ var middle = new Array(); if(nums[start] + nums[end] < flag){ start ++; } else if(nums[start] + nums[end] > flag){ end--; } else { middle.push(nums[i]); middle.push(nums[start]); middle.push(nums[end]); if(!hash[middle]){ hash[middle] = true; result.push(middle); } start += 1; end -= 1; while(start < end && nums[start] === nums[start - 1]){ start += 1; } while(start < end && nums[end] === nums[end + 1]){ end -= 1; } } } } return result; };
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101241.html
摘要:題目給你一個(gè)包含個(gè)整數(shù)的數(shù)組,判斷中是否存在三個(gè)元素,,,使得請(qǐng)你找出所有和為且不重復(fù)的三元組。 題目 給你一個(gè)包含 n 個(gè)整數(shù)的數(shù)組?nums,判斷?nums?中是否存在三個(gè)元素 a,b,c ,使得?a + b + c = 0 ?請(qǐng)你找出所有和為 0 且不重復(fù)的三元組。 注意:答案中不可以...
摘要:最接近的三數(shù)之和給定一個(gè)包括個(gè)整數(shù)的數(shù)組和一個(gè)目標(biāo)值。返回這三個(gè)數(shù)的和。假定每組輸入只存在唯一答案。例如,給定數(shù)組,,,和與最接近的三個(gè)數(shù)的和為答案參考和三數(shù)之和一樣,我先用的循環(huán),現(xiàn)在用的循環(huán) LeetCode16.最接近的三數(shù)之和 JavaScript 給定一個(gè)包括 n 個(gè)整數(shù)的數(shù)組 nums 和 一個(gè)目標(biāo)值 target。找出 nums 中的三個(gè)整數(shù),使得它們的和與 target...
摘要:給定一個(gè)包含個(gè)整數(shù)的數(shù)組,判斷中是否存在三個(gè)元素,,,使得找出所有滿足條件且不重復(fù)的三元組。 給定一個(gè)包含 n 個(gè)整數(shù)的數(shù)組?nums,判斷?nums?中是否存在三個(gè)元素 a,b,c ,使得?a + b + c = 0 ?找出所有滿足條件且不重復(fù)的三元組。 注意:答案中不可以包含重復(fù)的三元組。 例如, 給定數(shù)組 nums = [-1, 0, 1, 2, -1, -4], 滿足要求的三元...
摘要:如果三個(gè)數(shù)據(jù)相加等于了,就存儲(chǔ)該三個(gè)值且更新和指針。邊界條件判斷數(shù)組內(nèi)元素是否都為整數(shù)或負(fù)數(shù),直接返回。判斷和指針的大小關(guān)系。在原來(lái)數(shù)組上進(jìn)行排序,不生成副本。 Time:2019/4/3Title:3SumDifficulty: mediumAuthor:小鹿 題目三:ADD Two Numbers Given an array?nums?of?n?integers, are the...
閱讀 1351·2023-04-25 15:21
閱讀 2684·2021-11-24 10:23
閱讀 3409·2021-10-11 10:59
閱讀 3255·2021-09-03 10:28
閱讀 1739·2019-08-26 13:45
閱讀 2329·2019-08-26 12:11
閱讀 929·2019-08-26 12:00
閱讀 1718·2019-08-26 10:44