問題解決レコード: ハッシュ テーブルの簡単な適用 --- 2540。最小共通値

整数の 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

おすすめ

転載: blog.csdn.net/weixin_45314061/article/details/131815193