第三天 4 Sum

作者: 业余马拉松选手 | 来源:发表于2018-08-23 00:09 被阅读9次

哈哈,继续在前两天的基础之上,4 Sum问题

https://leetcode-cn.com/problems/4sum/description/

对于这种列表的题目,继续要排个序,开始想过类似分治的方法,但好像路走不通,那么本着解决问题的思路,就先继续“退化”的路,这里就是通过循环,把4Sum变成了3Sum,然后再变成2Sum,基于排序,那么就可以用双指针法。

原本写出来之后,以为会超时,但没想到竟然低分飘过了。

现在回过来看,应该还是有不少可以优化的地方,这个计划就留到周末去吧,平时工作日就先争取刷一道题,就理解一种思路,顺便继续熟悉了Python的代码range的用法,对于一个写惯了Java的人来说,这种基于range的循环还是需要适应下。

尽管贡献了一个效率比较低的代码,但实际就可读性和理解方面还是比较清晰的【好吧,其实就是算法比较挫啦】

class Solution:
    def fourSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[List[int]]
        """
        nums.sort()
        ret = set()
        for i in range(len(nums)-3):
            for j in range(i+1,len(nums)-2):
                t = -(nums[i] + nums[j])+target
                l = j+1
                r = len(nums)-1
                while l<r:
                    two_sum = nums[l] + nums[r]
                    if two_sum == t:
                        ret.add((nums[i],nums[j],nums[l],nums[r]))
                        l+=1
                        r-=1
                    elif two_sum < t:
                        l+=1
                    elif two_sum > t:
                        r-=1
        return list(ret)
                    

相关文章

  • two sum&&three sum&&four sum&&th

    two sum 3 sum 3Sum Closest 4 sum 利用set来实现: 3 sum 4 sum

  • 第三天 4 Sum

    哈哈,继续在前两天的基础之上,4 Sum问题 https://leetcode-cn.com/problems/4...

  • PowerBI DAX CALCULATE/SUM/COUNT/

    SUM CALCULATE(SUM...) COUNT 4.COUNTROWS COUNTBLANK 计算空值的个数

  • 二维数组

    sum()的函数原型:int sum( int (*ar2)[4], int size );//传递一个指向由 4...

  • 写一个sum函数使得以下表达式的值正确

    sum(1,2,3).sumOf();//6sum(2,3)(2).sumOf();//7sum(1,2,3,4)...

  • 4 sum

    4 sum Given an array nums of n integers and an integer ta...

  • 4 sum

    solution 1: sort the array, then fix two,using two pointe...

  • 4 Sum

    题目 Given an array S of n integers, are there elements a, ...

  • 4 sum

    解题报告, 这个做的比较绝望, 用了two points, recursion, memorization= =,...

  • 15+18、3Sum 4Sum

    15、3Sum Example 复杂度 思路 解法 18、4Sum Example 解法

网友评论

    本文标题:第三天 4 Sum

    本文链接:https://www.haomeiwen.com/subject/vuiuiftx.html