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

サブ配列を逆にすると、配列がPythonでソートされるかどうかを確認します


一意の要素を持つnumsという配列があるとします。配列の1つのサブ配列を逆にした後、配列がソートされるかどうかを確認する必要があります。配列がすでに並べ替えられている場合は、trueも返します。

したがって、入力がnums =[4,6,27,25,15,9,37,42]のような場合、[9,15,25,27]を逆にすると、配列がTrueになるため、出力はTrueになります。並べ替えられます。

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

  • n:=numsのサイズ
  • 配列に要素が1つしかない場合は、Trueを返します
  • i:=1
  • 1からn-1の範囲のiの場合、do
    • nums [i-1]
    • iがnと同じ場合はtrueを返し、そうでない場合はループから抜け出します
  • j:=i
  • j
  • i>1かつnums[j]
  • j:=j + 1
  • jがnと同じ場合、Trueを返します
  • k:=j
  • nums [k]
  • k>1かつk
  • nums [k]
  • k:=k + 1
  • Trueを返す
  • 理解を深めるために、次の実装を見てみましょう-

    サンプルコード

    def solve(nums):
       n = len(nums)
       if n == 1:
          return True
     
       i = 1
       for i in range(1, n):
          if nums[i - 1] < nums[i] :
             if i == n:
               return True
          else:
             break
       j = i
       
       while j < n and nums[j] < nums[j - 1]:
          if i > 1 and nums[j] < nums[i - 2]:
             return False
          j += 1
     
       if j == n:
          return True
     
       k = j
       if nums[k] < nums[i - 1]:
          return False
     
       while k > 1 and k < n:
          if nums[k] < nums[k - 1]:
             return False
          k += 1
       return True
    
    nums = [4,6,27,25,15,9,37,42]
    print(solve(nums))
    を返す

    入力

    [4,6,27,25,15,9,37,42]

    出力

    True

    1. Pythonの並べ替えられた配列で数値が多数決要素であるかどうかを確認する

      numsという名前の配列があり、降順ではない順序で並べ替えられ、数値ターゲットがあるとします。ターゲットが過半数の要素であるかどうかを確認する必要があります。配列では、多数決要素は、長さNの配列でN / 2回以上出現する要素です。したがって、配列が-[2,4,5,5,5,5,5,6,6]のようである場合ターゲットが5の場合、出力はtrueです。 これを解決するには、次の手順に従います- 2つの支援モジュール、lower()とupper()があります。これらは次のとおりです。 lower()は、配列arrとtargetの2つの引数、つまり-を取ります。 低:=0、高:=到着の長さ 低<高

    2. 指定された配列が単調であるかどうかを確認するPythonプログラム

      この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 n個の整数を含む配列入力Arrが与えられます。入力配列が本質的に単調であるかどうかを確認する必要があります。 アレイが継続的に増加または継続的に減少している場合、そのアレイは本質的に単調であると言われます。 数学的に すべてのi<=j、の場合、配列Aは継続的に増加します。 A[i] <= A[j]. すべてのi<=j、の場合、配列Aは継続的に減少しています。 A[i] >= A[j]. ここでは、隣接するすべての要素が上記の条件のいずれかを満たしているかどうかを確