18. 4Sum 四数之和
生活随笔
收集整理的這篇文章主要介紹了
18. 4Sum 四数之和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個包含?n 個整數的數組?nums?和一個目標值?target,判斷?nums?中是否存在四個元素 a,b,c?和 d?,使得?a + b + c + d?的值與?target?相等?找出所有滿足條件且不重復的四元組。
注意:
答案中不可以包含重復的四元組。
示例:
給定數組 nums = [1, 0, -1, 0, -2, 2],和 target = 0。滿足要求的四元組集合為: [[-1, 0, 0, 1],[-2, -1, 1, 2],[-2, 0, 0, 2] ]暴力+剪枝
這題也比較簡單,直接暴力+剪枝就能過。
Code
def fourSum(self, nums: List[int], target: int) -> List[List[int]]:length, ans = len(nums), list()for i in range(length - 3):for j in range(i + 1, length - 2):for k in range(j + 1, length - 1):if target - (nums[i] + nums[j] + nums[k]) in nums[k + 1:]:tmp = sorted([nums[i], nums[j], nums[k], target - (nums[i] + nums[j] + nums[k])])if tmp not in ans:ans.append(tmp)return ans總結
以上是生活随笔為你收集整理的18. 4Sum 四数之和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2013\Province_Java_A
- 下一篇: 834. Sum of Distance