-
[💕 LeetCode Python] 349. Intersection of Two ArraysAlgorithm/1일 1코테 2020. 10. 26. 18:33반응형
✍LeetCode✍
349. Intersection of Two Arrays
문제
leetcode.com/problems/intersection-of-two-arrays/submissions/
내가 쓴 답
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: answer = [] # 답안 저장할 리스트 for i in nums1: for j in nums2: if i == j and i not in answer: #i,j가 같으면 교집합이라는 뜻 & 그리고 중복없게 하기위해 answer에 해당 값이 없으면 answer.append(i) #append return answer
풀이
#이진검색
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: answer = set() nums2.sort() #이진 검색을 사용하기 위해 for i in nums1: idx = bisect.bisect_left(nums2, i) if len(nums2) > idx and nums2[idx] == i: answer.add(i) return answer
#투 포인터
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: answer = set() nums1.sort() nums2.sort() i = j = 0 while i < len(nums1) and j < len(nums2): if nums1[i] < nums2[j]: i += 1 elif nums1[i] > nums2[j]: j += 1 else: answer.add(nums1[i]) i += 1 j += 1 return answer
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[💕 LeetCode Python] 240. Search a 2D Matrix 2 (0) 2020.10.26 [🤷♀️ LeetCode Python] 167. Two Sum 2 - Input array is sorted (0) 2020.10.26 [💕 LeetCode Python] 704. Binary Search (0) 2020.10.26 [🤷♀️ 프로그래머스 Python] 기능개발 (0) 2020.10.25 [💕 프로그래머스 Python] 프린터 (0) 2020.10.25