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

2つの数値の合計をチェックするプログラムは、Pythonでソートされたリストから最大kであるかどうか


numsという番号のリストがあり、numsの要素が昇順でソートされているとします。別の値kもあります。リストから取得した2つの要素の合計がkになるかどうかを確認する必要があります。数値は負または0にすることもできます。一定量のスペース使用量でこの問題を解決する必要があります。

したがって、入力がnums =[-8、-3、2、7、9] k =4のような場合、出力はTrueになります。これは、7と-3をとると、合計が7 +(- 3)=4、これはkと同じです。

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

  • i:=0
  • j:=numsのサイズ-1
  • i
  • cur_sum:=nums [i] + nums [j]
  • cur_sumがkと同じ場合、
    • Trueを返す
  • それ以外の場合、cur_sum
  • i:=i + 1
  • それ以外の場合、
    • j:=j-1
  • Falseを返す
  • 理解を深めるために、次の実装を見てみましょう-

    def solve(nums, k):
       i = 0
       j = len(nums) - 1
       while i < j:
          cur_sum = nums[i] + nums[j]
          if cur_sum == k:
             return True
          elif cur_sum < k:
             i += 1
          else:
             j -= 1
       return False
    
    nums = [-8, -3, 2, 7, 9]
    k = 4
    print(solve(nums, k))

    入力

    [-8, -3, 2, 7, 9], 4
    

    出力

    True

    1. 2つのソートされていないリストのソートされたマージされたリストを作成するPythonプログラム

      このチュートリアルでは、2つのリストをマージし、結果のリストをソートされた順序で出力するプログラムを作成します。いくつかの例を見てみましょう。 Input: list_1 = [1, 3, 2, 0, 3] list_2 = [20, 10, 23, 43, 56, -1] Output: [-1, 0, 1, 2, 3, 3, 10, 20, 23, 43, 56] Input: list_1 = ["hafeez", "aslan"] list_2 = ["abc", "kareem", "b&

    2. 2つのソートされていないリストのソートされたマージされたリストを作成するPythonプログラム

      ここでは、2つのユーザー入力リストが指定されており、2つのリストの要素はソートされていません。私たちのタスクは、これら2つのソートされていない配列をマージし、その後リストをソートすることです。 例 Input: A [] = {100, 50, 150} B [] = {200, 30, 20} Output: Merge List:{20, 30, 50, 100, 150, 200} アルゴリズム Step 1: first we create two user input list. Step 2: Final merge list size is (size of