成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

leetcode 18 4Sum

Vixb / 616人閱讀

摘要:題目詳情輸入一個長度為的整數(shù)數(shù)組和一個目標(biāo)整數(shù),我們需要找出是否存在個元素,使得的和等于。如果有,輸出這樣的非重復(fù)的元素序列。在求元素的時候可以通過左右指針減少查找時間。

題目詳情
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.

輸入一個長度為n的整數(shù)數(shù)組和一個目標(biāo)整數(shù)target,我們需要找出是否存在4個元素a、b、c、d,使得abcd的和等于target。如果有,輸出這樣的非重復(fù)的元素序列。

For example, 輸入數(shù)組S = [1, 0, -1, 0, -2, 2], 目標(biāo)整數(shù)target = 0.
返回的結(jié)果集是:
[
[-1, 0, 0, 1],
[-2, -1, 1, 2],
[-2, 0, 0, 2]
]

想法

本題的思路還是基于3Sum問題延伸出來的。

減治思想,如果通過遍歷,每次鎖定一個元素作為a元素,然后剩下的問題就變成了求三個數(shù)的和是否等于target,依次類推。

在求cd元素的時候可以通過左右指針減少查找時間。

解法
    public List> fourSum(int[] nums, int target) {
        Arrays.sort(nums);
        List> res = new ArrayList>();
        int length = nums.length;
        if(length<4 || target > nums[length-1]*4 || target < nums[0]*4)return res;
        
        for(int i=0;i0 && nums[i] != nums[i-1])){
                for(int j=i+1;j tempTarget){
                                high--;
                            }else{
                                low++;
                            }
                        }
                    }
                }
                
            }
        }
        return res;
    }

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/70995.html

相關(guān)文章

  • [LeetCode] 4Sum & 4Sum II

    摘要:和方法一樣,多一個數(shù),故多一層循環(huán)。完全一致,不再贅述, 4Sum Problem 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 ...

    sydMobile 評論0 收藏0
  • [Leetcode] Two Sum, 3Sum,4Sum,4SumII,3Sum Closet

    摘要:解題思路題目要求兩個數(shù)和等于,返回其題目說明不會有重復(fù)情況,所以我們一旦發(fā)現(xiàn)符合情況的,就可以直接結(jié)束循環(huán)并返回。特殊情況就是正好等于,那肯定是最接近的情況,直接返回即可。 Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific ta...

    EddieChan 評論0 收藏0
  • leetcode14 4sum

    摘要:這里需要注意及時處理掉重復(fù)的情況。那么就需要盡可能排除不可能的情況來提高計算效率。因為數(shù)組已經(jīng)被排序,所以可以根據(jù)數(shù)組中元素的位置判斷接下來的情況是否有可能合成目標(biāo)值。 題目要求 此處為原題地址 Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d =...

    MoAir 評論0 收藏0
  • [Leetcode] 3Sum 4Sum 3Sum Closet 多數(shù)和

    摘要:為了避免得到重復(fù)結(jié)果,我們不僅要跳過重復(fù)元素,而且要保證找的范圍要是在我們最先選定的那個數(shù)之后的。而計算則同樣是先選一個數(shù),然后再剩下的數(shù)中計算。 2Sum 在分析多數(shù)和之前,請先看Two Sum的詳解 3Sum 請參閱:https://yanjia.me/zh/2019/01/... 雙指針法 復(fù)雜度 時間 O(N^2) 空間 O(1) 思路 3Sum其實可以轉(zhuǎn)化成一個2Sum的題,...

    trigkit4 評論0 收藏0
  • leetcode 部分解答索引(持續(xù)更新~)

    摘要:前言從開始寫相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時也沒有按順序?qū)懍F(xiàn)在翻起來覺得蠻亂的。可能大家看著也非常不方便。所以在這里做個索引嘻嘻。順序整理更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新 前言 從開始寫leetcode相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時也沒有按順序?qū)憽F(xiàn)在翻起來覺得蠻亂的??赡艽蠹铱粗卜浅2环奖?。所以在這里做個索引嘻嘻。 順序整理 1~50 1...

    leo108 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<