Pythonでの2つの配列IIの交差
2つの配列AとBがあるとすると、これらの配列にはいくつかの要素があります。それらの交差点を見つける必要があります。したがって、A =[1、4、5、3、6]、およびB =[2、3、5、7、9]の場合、交点は[3、5]
になります。これを解決するには、次の手順に従います-
- 2つのアレイAとBを取ります
- Aの長さがBの長さよりも短い場合は、それらを交換します
- 配列内の要素の頻度を計算し、それらをmに格納します
- Bの各要素eについて、eがmに存在し、頻度がゼロ以外の場合、
- 頻度m[e]を1つ減らします
- 結果の配列にeを挿入します
- 結果の配列を返す
例
理解を深めるために、次の実装を見てみましょう-
class Solution(object): def intersect(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ m = {} if len(nums1)<len(nums2): nums1,nums2 = nums2,nums1 for i in nums1: if i not in m: m[i] = 1 else: m[i]+=1 result = [] for i in nums2: if i in m and m[i]: m[i]-=1 result.append(i) return result ob1 = Solution() print(ob1.intersect([1,4,5,3,6], [2,3,5,7,9]))
入力
[1,4,5,3,6] [2,3,5,7,9]
出力
[3,5]
-
Intersection()関数Python
この記事では、任意のセットで実行できるintersection()関数について学習します。数学によると、共通部分とは、2つのセットから共通の要素を見つけることを意味します。 構文 <set name>.intersection(<set a1> <set a2> ……..) 戻り値 引数として渡されるセット内の共通要素。 例 set_1 = {'t','u','t','o','r','i','a','l&
-
2つのリストの共通部分を見つけるPythonプログラム?
交差演算とは、リスト1とリスト2からすべての共通要素を取得する必要があり、すべての要素が別の3番目のリストに格納されることを意味します。 List1::[1,2,3] List2::[2,3,6] List3::[2,3] アルゴリズム Step 1: input lists. Step 2: first traverse all the elements in the first list and check with the elements in the second list. Step 3: if the elements are matched then store in t