CK week2 day5


🧨 質問する


パラメータheightは数値からなる配列です.
グラフィックで表すとy軸の値です.
高さの値.
次のグラフの場合height配列[1, 8, 6, 2, 5, 4, 8, 3, 7]です.
そのグラフに水を入れたとして、
水を収容できる最大面積の値.
返してください.

🎯 説明する

def get_max_area(height):
#step1
  result = []

#step2
    for i in range(len(height)-1):
        for j in range(i+1, len(height)):
            area = (j-i) * min(height[i], height[j])
            result.append(area)
    return max(result)
  
2つの要素を選択して幅を求め、幅値の最大値を返します.

📍 step 1

def get_max_area(height):
#step1
  result = []
  
結果の配列を発表する.

📍 step 2

def get_max_area(height):
#... ...#

#step2
    for i in range(len(height)-1):
        for j in range(i+1, len(height)):
            area = (j-i) * min(height[i], height[j])
            result.append(area)
    return max(result)
  
オーバーラップforゲートを迂回し、幅値を求めてresultに追加し、resultの最大値を返します.

🎈 回答について


すべての場合の数の幅が求められ,その幅値の中で最大の値を求めることが実現され,これは無効であると考えられる.より効果的な解決策を考えなければならない.