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

Pythonで最大の正方形を形成できる長方形の数を見つけるためのプログラム


rectという配列があります。rect[i]には2つの要素[len_i、wid_i]があり、len_iとwid_iはそれぞれi番目の長方形の長さと幅を表しています。これで、k<=lenn_iとk<=wid_iの両方の場合、i番目の長方形を切り取って辺の長さがkの正方形を形成できます。したがって、たとえば、長方形[4,6]がある場合、それを切り取って、辺の長さが最大4の正方形を取得できます。ここで、maxLenというパラメーターを、取得できる最大の正方形の辺の長さと考えます。与えられた長方形のいずれかから。一辺の長さがmaxLenの正方形を作成できる長方形の数を見つける必要があります。

したがって、入力がrect =[[6,9]、[4,10]、[6,13]、[17,6]]の場合、辺の最大の正方形を取得できるため、出力は3になります[ 6、4、6、6]なので、最大の長方形が3つあります。

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

  • m:=新しいリスト

  • 長方形の各rについて、実行します

    • mの最後に最小のrを挿入します

  • mに存在するカウント(mの最大値)とリターン

例(Python)

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

def solve(rect):
   m = []
   for r in rect:
      m.append(min(r))

   return m.count(max(m))

rect = [[6,9],[4,10],[6,13],[17,6]]
print(solve(rect))

入力

[[6,9],[4,10],[6,13],[17,6]]

出力

3

  1. 配列内の最大の要素を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n):    #maximum element    max = arr[0]    # traverse the whole loop    for

  2. 数の最大の素因数を見つけるためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 正の整数nが与えられます。数の最大の素因数を見つける必要があります。 アプローチ 指定された数値を数値の約数で割って因数分解します。 最大素因数を更新し続けます。 例 import math def maxPrimeFactor(n):    # number must be even    while n % 2 == 0:       max_Prime = 2       n /= 1