Pythonで最大のギャップ
numsという数字のリストがあるとすると、ソートされたバージョンのnumsで2つの連続する数字の最大の差を見つける必要があります。
したがって、入力が[5、2、3、9、10、11]の場合、5と9の間の最大ギャップは4であるため、出力は4になります。
これを解決するには、次の手順に従います-
- n:=ソートされたリスト番号
- ans:=新しいリスト
- 範囲0からn-2のサイズのiの場合、実行
- ansの最後にn[i+ 1]-n[i]を挿入します
- 最大値を返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, nums): n = sorted(nums) ans = [] for i in range(len(n)-1): ans.append(n[i+1]-n[i]) return max(ans) ob = Solution() nums = [5, 2, 3, 9, 10, 11] print(ob.solve(nums))
入力
[5, 2, 3, 9, 10, 11]
出力
4
-
Pythonで最大の三角形の領域
平面上の点のリストがあるとします。 3つの点で形成できる最大の三角形の領域を見つける必要があります。 したがって、入力が[[0,0]、[0,1]、[1,0]、[0,2]、[2,0]]の場合、出力は2になります。 これを解決するには、次の手順に従います- res:=0 N:=ポイントリストのサイズ 0からN-2の範囲のiの場合、do i +1からN-1の範囲のjの場合、do i + 2からNの範囲のkについては、 (x1、y1):=points [i]、 (x2、y2):=points [j]、 (x3、y3):=ポイント[k] res:=resの最大値、0.5 *
-
Pythonのヒストグラムで最大の長方形
ヒストグラムの高さを表す整数配列が1つあるとします。各バーには単位幅があります。次のように最大面積の長方形を見つける必要があります- これを解決するには、次の手順に従います- スタックを作成し、i:=0、ans:=0を設定します <高さのサイズなら スタックの要素が0であるか、スタックの最上位要素の高さが<=height [i]の場合、 iをスタックに挿入し、iを1増やします それ以外の場合- x:=スタックの最上位要素、スタックから削除します。 height:=heights [x] temp:=height *(i * stac