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

PythonでX以上のX要素を持つ特別な配列のXを見つけるプログラム


すべての要素が0または正のnumsという配列があるとします。 numsにx以上のx個の数値が正確に存在するような数値xが存在する場合、numsは特殊な配列と見なされます。また、xはnumsの要素である必要はありません。ここで、配列が特殊な場合はxを検索する必要があります。それ以外の場合は、-1を返します。

したがって、入力がnums =[4,6,7,7,1,0]のような場合、4以上の数値が4つあるため、出力は4になります。

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

  • 0から最大数までの範囲のiについては、次のようにします

    • count:=0

    • numsのjごとに、実行します

      • j> =iの場合、


      • count:=count + 1
    • countがiと同じ場合、

      • iを返す

  • -1を返す

例(Python)

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

def solve(nums):
   for i in range(max(nums)+1):
      count=0
      for j in nums:
         if j >= i:
            count+=1
      if count == i:
         return i
      return -1

nums = [4,6,7,7,1,0]
print(solve(nums))

入力

[4,6,7,7,1,0]

出力

-1

  1. Pythonでの等しい配列要素IIへの最小移動

    空でない整数配列があるとすると、すべての配列要素を等しくするために必要な最小移動数を見つける必要があります。ここで、移動は選択した要素をインクリメントまたはデクリメントします。したがって、配列が[1、2、3]の場合、出力は2になり、1は2にインクリメントされ、3は2にデクリメントされます。 これを解決するには、次の手順に従います- 配列番号を並べ替える カウンターを0に設定 numsのiの場合は、 カウンター:=カウンター+絶対値(i – nums[numsの長さ/2]) リターンカウンター 例(Python) 理解を深めるために、次の実装を見てみましょう- class Solut

  2. nで割った配列乗算のリマインダーを見つけるためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 複数の数値と数値入力nが与えられた場合、除算可能なすべての数値にnを掛けた後、余りを出力する必要があります。 アプローチ まず、arr [i]%nのように余りを計算します。次に、この余りに現在の結果を掛けます。 乗算後、オーバーフローを避けるために同じ余りを取ります。これは、モジュラー演算の分配法則に準拠しています。 ( a * b) % c = ( ( a % c ) * ( b % c ) ) % c 例 def findremainder(arr, lens, n):   &n