整数の 2 つの配列があり nums1
、 nums2
それらが非降順でソートされている場合、 2 つの配列の最小の共通整数を返してください 。2 つの配列の合計に 共通の整数nums1
がない 場合はnums2
、それらを返してください -1
。
整数が 両方の配列に少なくとも 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 つの配列の共通要素は 2 と 3 で、2 の方が小さい値であるため、戻り値を返します。 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