Pythonで最大のアイスクリームバーを見つけるプログラム
n個の要素を持つ配列コストがあるとします。ここで、costs[i]はコインのi番目のアイスクリームバーの価格です。最初はc数のコインを使う必要があり、できるだけ多くのアイスクリームバーを購入したいと考えています。 cコインで購入できるアイスクリームバーの最大数を見つける必要があります。
したがって、入力がコスト=[3,1,4,5,2]、c =10のようである場合、インデックス0、1、2、4のアイスクリームバーを合計で購入できるため、出力は4になります。 3 + 1 + 4 + 2=10の価格。
これを解決するには、次の手順に従います-
-
リストのコストを並べ替える
-
i:=0
-
i<コストのサイズとc>=コスト[i]、実行
-
c:=c-コスト[i]
-
i:=i + 1
-
-
iを返す
例
理解を深めるために、次の実装を見てみましょう-
def solve(costs, c): costs.sort() i=0 while(i<len(costs) and c >= costs[i]): c = c-costs[i] i=i+1 return i costs = [3,1,4,5,2] c = 10 print(solve(costs, c))
入力
[3,1,4,5,2], 10
出力
4
-
Pythonの任意の場所に5を追加して最大数を見つけるプログラム
数nがあるとすると、その数のどこかに5を挿入して、取得できる最大数を見つける必要があります。 したがって、入力がn =834の場合、出力は8534になります。 これを解決するには、次の手順に従います- 0の場合、 s:=n as string k:=空白の文字列 c:=False sの各文字iについて、実行します i <5でcがFalseの場合、 k:=k連結5連結i c:=True それ以外の場合 k:=k連結i kを整数として返す それ以外の場合 k:=空白の文字列 s:=| n
-
Pythonで最大の建物の高さを見つけるプログラム
値nと、制限と呼ばれるペアの別のリストがあるとします。都市にn棟の新しい建物を建てたいと思っています。ただし、制限はほとんどありません。私たちは一列に建てることができ、建物には1からnまでのラベルが付けられています。制限には2つのパラメーターがあるため、restrictions [i] =(id_i、max_height_i)は、id_iの高さがmax_height_i以下でなければならないことを示します。新しい建物の高さに関する市の制限は次のとおりです- 各建物の高さは0または正の値である必要があります。 最初の建物の高さは0でなければなりません。 隣接する2つの建物の高さ