[LeetCode][Python3] 454. 4Sum II
2019. 1. 13. 23:18 |
프로그래밍/LeetCode
Problem :
https://leetcode.com/problems/4sum-ii/
My Solution :
class Solution:
def fourSumCount(self, A, B, C, D):
"""
:type A: List[int]
:type B: List[int]
:type C: List[int]
:type D: List[int]
:rtype: int
"""
ans = 0
ab = {}
for a in A:
for b in B:
ab[a+b] = ab.get(a+b, 0) + 1
for c in C:
for d in D:
ans += ab.get(-c-d, 0)
return ans
Comment :
길이가 최대 500이라 가정하면 4중 for문을 사용했을 때 625억가지 경우의 수가 나온다. 하지만 2개씩 묶으면 각각 25만개가 최대이다. 625억번 계산은 매우 느리지만 25만번 계산을 두번 반복하는건 충분히 해볼만하다.
'프로그래밍 > LeetCode' 카테고리의 다른 글
[LeetCode][Python3] 287. Find the Duplicate Number (0) | 2019.01.25 |
---|---|
[LeetCode][Python3] 75. Sort Colors (0) | 2019.01.24 |
[LeetCode][Python3] 102. Binary Tree Level Order Traversal (0) | 2019.01.22 |
[LeetCode][Python3] 230. Kth Smallest Element in a BST (0) | 2019.01.15 |
[LeetCode][Python3] 78. Subsets (0) | 2019.01.13 |
[LeetCode][Python3] 238. Product of Array Except Self (0) | 2019.01.12 |
[LeetCode][Python3] 347. Top K Frequent Elements (0) | 2019.01.05 |
[LeetCode][Python3] 94. Binary Tree Inorder Traversal (1) | 2019.01.03 |
최근에 달린 댓글 최근에 달린 댓글