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

Pythonの非減少配列


n個の整数を持つ配列があるとすると、私たちのタスクは、最大で1つの要素を変更することによって、配列が減少しないようになる可能性があるかどうかを確認することです。次のルールを満たしている場合、配列は減少しないと定義できます。array [i] <=array [i + 1] for every i(1 <=i になります。

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

  • arrの要素が2つ以下の場合は、tureを返します

  • ans:=False

  • 0からarrの要素数までの範囲のiの場合– 2

    • arr [i]> arr [i + 1]

      の場合
      • ansが0以外の場合は、falseを返します。それ以外の場合は、ans:=True

      • i> 0

        の場合
        • arr [i-1]> arr [i + 1]の場合、arr [i + 1]:=arr [i]

  • trueを返す

例(Python)

理解を深めるために、次の実装を見てみましょう-

class Solution(object):
   def checkPossibility(self, nums):
      if len(nums) <=2:
         return True
      ans = False
      for i in range(len(nums)-1):
         if nums[i] > nums[i+1]:
            if ans:
               return False
            else:
               ans = True
            if i>0:
               if nums[i-1] > nums[i+1]: nums[i+1] = nums[i]
      return True
ob1 = Solution()
print(ob1.checkPossibility([4,2,3,5]))

入力

[4,2,3,5]

出力

True

  1. Pythonのbool()

    Pythonのbool()は、指定されたパラメーターのブール値を返します。パラメータは次のいずれかになり、結果は以下の条件に従います。ここに記載されている値を除いて、残りの値はTrueを返します。 渡されたパラメータ値が以下の場合、Falseが返されます- なし 誤った状態 任意の数値タイプのゼロ 空のシーケンス()、[]など {}のような空のマッピング 0またはFalseを返す__bool__()または__len()__メソッドを持つクラスのオブジェクト 例 以下のプログラムでは、そのようなすべてのシナリオ例を示しています。 print("

  2. Pythonのid()関数

    この記事では、Python 3.xでのid()関数の使用法と実装について学習します。またはそれ以前。 Python標準ライブラリに存在し、コードを実行する前に自動的にインポートされます。 構文 :id() 戻り値 :タイプのID値 この関数は、引数を1つだけ受け入れます。つまり、IDを使用する必要があるエンティティの名前です。このIDは、同じデータを参照するまで、すべてのエンティティで一意です。 IDは単にメモリ位置のアドレスであり、Pythonの内部で使用されます。 サンプルコード str_1 = "Tutorials" print(id(str_1)) str_