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

配列がPythonで美しいかどうかを確認します


一意の要素の配列numsがあるとします。これらの条件が満たされているかどうかを確認する必要があります:

  1. 要素は1からnの範囲になります。
  2. 配列を昇順で並べ替えてはなりません。

したがって、入力がnums =[2,6,1,5,3,4]のような場合、出力はTrueになります。

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

  • n:=numsのサイズ
  • 合計:=nums [0]
  • is_sorted:=True
  • 1からn-1の範囲のiの場合、do
    • nums[i]がnums[i-1]と同じ場合、
      • Falseを返す
    • nums [i]
    • is_sorted:=False
  • 合計:=合計+ nums [i]
  • is_sortedがtrueの場合、
    • Falseを返す
  • 合計が最初のn個の数値の合計と同じ場合はtrueを返し、それ以外の場合はfalseを返します
  • 理解を深めるために、次の実装を見てみましょう-

    サンプルコード

    def solve(nums):
       n = len(nums)
       
       total = nums[0]
       is_sorted = True
       
       for i in range(1,n):
          if nums[i] == nums[i - 1]:
             return False
      
          if nums[i] < nums[i - 1]:
             is_sorted = False
          total += nums[i]
       
       if is_sorted:
          return False
      
       return total == (n * (n + 1) // 2)
     
    nums = [2,6,1,5,3,4]
    print(solve(nums))

    入力

    [2,6,1,5,3,4]
    

    出力

    True

    1. Pythonプログラムで配列の合計を見つける

      この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列の合計を計算するために必要な配列が与えられます。 合計を取得するために各インデックスで配列と要素全体をトラバースするブルートフォースアプローチについては、以下で説明します。合計を取得するための各インデックスについては、以下で説明します。 例 # sum function def sum_(arr,n):    # using built-in function    return(sum(arr)) # main arr = [11,22,33,44,55,66

    2. 配列の合計を見つけるPythonプログラム

      この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '