[pythonベース]Code-kata週2-5


🖥 Code-kata week2-5
質問する
パラメータheightは数値からなる配列です.グラフィックで表すと、y軸の値であり、高さの値があります.
[1,8,6,2,5,4,8,3,7]を下図に示します.

そのグラフに水があるとき、水を入れることができる最大面積の値を返してください.
に答える
実際、この問題は、codekataの時間に、他の学生は解答の方法をあまり理解していないので、家に帰ってから見て、問題がもっと明らかになったことに気づきました.
最も簡単な暴力的な方法を使用して、すべての状況の数を計算します.
  • は、まず最初の数字に準拠します.
  • は、2番目の数字から、height[0]x height[1]、height[0]x height[2]を乗じる.
  • 今度は2番目の数字を基準にまた回転します:height[1]x height[2]、height[2]xheight[3]...
  • は、最大値
  • を返す.
    def get_max_area(height):
    	result = 0 
        for i in range(0,len(height)-1):
        	for j in range(i+1, len(height)):
            	x = j - i 
                y = min(height[i], height[j]) 
                area = x * y 
            	result = max(result, area)
            
        return result