Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの2つのリストから2つの要素間の最小の違いを見つけるプログラム


L1とL2の2つのリストがあるとすると、L1の数値とL2の数値の差が最も小さいものを見つける必要があります。

したがって、入力がL1 =[2、7、4]、L2 =[16、10、11]の場合、最小の差は10-7 =3であるため、出力は3になります。

これを解決するには、次の手順に従います-

  • リストL1を並べ替え、リストL2を並べ替えます
  • ans:=無限大
  • i:=0、j:=0
  • i
  • ans:=最小のansおよび| L1 [i] --L2 [j] |
  • L1 [i]
  • i:=i + 1
  • それ以外の場合、
    • j:=j + 1
  • 回答を返す
  • 理解を深めるために、次の実装を見てみましょう-

    class Solution:
       def solve(self, L1, L2):
          L1.sort()
          L2.sort()
          ans = float("inf")
          i = j = 0
          while i < len(L1) and j < len(L2):
             ans = min(ans, abs(L1[i] - L2[j]))
             if L1[i] < L2[j]:
                i += 1
             else:
                j += 1
          return ans
    ob = Solution()
    L1 = [2, 7, 4] L2 = [16, 10, 11]
    print(ob.solve(L1, L2))

    入力

    [2, 7, 4], [16, 10, 11]

    出力

    3

    1. 2つの文字列から珍しい単語を見つけるPythonプログラム

      この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 2つの文字列が与えられているので、与えられた文字列から珍しい単語を取得する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # uncommon words def find(A, B):    # count    count = {}    # insert in A    for word in A.split():       count[word] = coun

    2. 2つのリストの違いをリストするPythonプログラム。

      この問題では、2つのリストが与えられます。私たちのタスクは、2つのリストの違いを表示することです。 Pythonはset()メソッドを提供します。ここではこの方法を使用します。セットは、重複する要素がない順序付けられていないコレクションです。セットオブジェクトは、和集合、共通部分、差、対称差などの数学演算もサポートしています。 例 Input::A = [10, 15, 20, 25, 30, 35, 40] B = [25, 40, 35] Output: [10, 20, 30, 15] 説明 difference list = A - B アルゴリズム Step 1: Inp