두 개의 정수 배열이 nums1
있고 nums2
내림차순으로 정렬되지 않은 경우 두 배열 중 가장 작은 공통 정수를 반환하십시오 . 두 배열 합계에 공통 정수가 nums1
없으면 nums2
반환하십시오 -1
.
정수 는 배열 이며 두 배열 모두에서 한 번 이상 발생 하면 공통입니다 .nums1
nums2
예 1:
입력: nums1 = [1,2,3], nums2 = [2,4] 출력: 2 설명: 두 배열의 가장 작은 공통 요소는 2이므로 2를 반환합니다.
예 2:
입력: nums1 = [1,2,3,6], nums2 = [2,3,4,5] 출력: 2 설명: 두 배열의 공통 요소는 2와 3이고 2가 더 작은 값이므로 반환 2 .
아이디어: 두 개의 목록을 병합하고 해시 테이블로 계산하고 최소 공통 솔루션 출력
class Solution:
def getCommon(self, nums1: List[int], nums2: List[int]) -> int:
nums1 = list(set(nums1))
nums2 = list(set(nums2))
num = nums1 + nums2
# print(num)
nums = Counter(num)
ans = []
for k , v in nums.items():
if v >= 2:
ans.append(k)
return min(ans) if ans else -1
# print(ans)
# return min(ans)
# return min(ans) if value == 2 else -1