摘要:四元組相加獲得給定一個(gè)數(shù)組,選擇四個(gè)元素相加,結(jié)果為,找出所有符合的四元組。思路思路參照三元組相加獲得多一層循環(huán)即可,注意邊界檢測(cè)即可。代碼本題以及其它題目代碼地址地址
四元組相加獲得target 4Sum
給定一個(gè)數(shù)組,選擇四個(gè)元素相加,結(jié)果為target,找出所有符合的四元組。
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.
Note: The solution set must not contain duplicate triplets.
example 1
For example, given array S = [1, 0, -1, 0, -2, 2], and target = 0. A solution set is: [ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2] ]思路
思路參照三元組相加獲得target
多一層循環(huán)即可,注意邊界檢測(cè)即可。
代碼class Solution(object): def fourSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[List[int]] """ nums.sort() ret = [] for i in range(len(nums) - 3): if i > 0 and nums[i] == nums[i - 1]: continue for j in range (i+1, len(nums) - 2): if j > i + 1 and nums[j] == nums[j - 1]: continue head, tail = j+1, len(nums) - 1 while head < tail: if nums[i] + nums[j] + nums[head] + nums[tail] == target: ret.append([nums[i], nums[j], nums[head], nums[tail]]) head += 1 tail -= 1 while head < tail and nums[head] == nums[head - 1]: head += 1 while head < tail and nums[tail] == nums[tail + 1]: tail -= 1 elif nums[i] + nums[j] + nums[head] + nums[tail] > target: tail -= 1 else: head += 1 return ret
本題以及其它leetcode題目代碼github地址: github地址
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/38666.html
摘要:給定一個(gè)整數(shù),將其轉(zhuǎn)為羅馬數(shù)字。字符數(shù)值例如,羅馬數(shù)字寫做,即為兩個(gè)并列的。通常情況下,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊。給定一個(gè)羅馬數(shù)字,將其轉(zhuǎn)換成整數(shù)。注意空字符串可被認(rèn)為是有效字符串。 JS算法題之leetcode(11~20) showImg(https://segmentfault.com/img/bVbwmfg?w=1790&h=714);這次的十道題目都比較容易,我們簡(jiǎn)...
摘要:給定一個(gè)包含個(gè)整數(shù)的數(shù)組和一個(gè)目標(biāo)值,判斷中是否存在四個(gè)元素,,和,使得的值與相等找出所有滿足條件且不重復(fù)的四元組。滿足要求的四元組集合為答案參考先排序第一個(gè)第二個(gè)第三個(gè) 給定一個(gè)包含 n 個(gè)整數(shù)的數(shù)組 nums 和一個(gè)目標(biāo)值 target,判斷 nums 中是否存在四個(gè)元素 a,b,c 和 d ,使得 a + b + c + d 的值與 target 相等?找出所有滿足條件且不重復(fù)的...
摘要:假設(shè)模式起始位置為,判斷后續(xù)序列是否滿足條件,其實(shí)只需要判斷與是否相同。如果數(shù)組中不存在至少重復(fù)次且長(zhǎng)度為的模式,返回注意這里需要加一,否則會(huì)錯(cuò) 萬人千題計(jì)劃 今...
摘要:是以太坊存儲(chǔ)數(shù)據(jù)的核心數(shù)據(jù)結(jié)構(gòu),它是由和結(jié)合的一種樹形結(jié)構(gòu),理解有助于我們更好的理解以太坊的數(shù)據(jù)存儲(chǔ)。所以就有了樹壓縮前綴樹,后面會(huì)介紹到,也被稱為,中文名稱默克爾樹,主要用于數(shù)據(jù)集較大時(shí)的文件校驗(yàn)。 ??MPT(Merkle Patricia Tries)是以太坊存儲(chǔ)數(shù)據(jù)的核心數(shù)據(jù)結(jié)構(gòu),它是由Merkle Tree和Patricia Tree結(jié)合的一種樹形結(jié)構(gòu),理解MPT有助于我們更...
摘要:是以太坊中存儲(chǔ)區(qū)塊數(shù)據(jù)的核心數(shù)據(jù)結(jié)構(gòu),它和融合一個(gè)樹形結(jié)構(gòu),理解結(jié)構(gòu)對(duì)之后學(xué)習(xí)以太坊區(qū)塊以及智能合約狀態(tài)存儲(chǔ)結(jié)構(gòu)的模塊源碼很有幫助。 MPT(Merkle Patricia Tries)是以太坊中存儲(chǔ)區(qū)塊數(shù)據(jù)的核心數(shù)據(jù)結(jié)構(gòu),它Merkle Tree和Patricia Tree融合一個(gè)樹形結(jié)構(gòu),理解MPT結(jié)構(gòu)對(duì)之后學(xué)習(xí)以太坊區(qū)塊header以及智能合約狀態(tài)存儲(chǔ)結(jié)構(gòu)的模塊源碼很有幫助。 首...
閱讀 3272·2021-11-10 11:35
閱讀 1473·2019-08-30 13:20
閱讀 1173·2019-08-29 16:18
閱讀 2204·2019-08-26 13:54
閱讀 2213·2019-08-26 13:50
閱讀 1007·2019-08-26 13:39
閱讀 2552·2019-08-26 12:08
閱讀 2005·2019-08-26 10:37