Pythonで好きな日に好きなキャンディーを食べられるかどうかをチェックするプログラム
正の計算candiesCountの配列があるとします。ここで、candiesCount [i]は、i番目のタイプのキャンディーの数を示します。また、querys [i]に3つのパラメーター[favoriteType_i、favoriteDay_i、dailyCap_i]があるquerysという別の配列もあります。いくつかのルールがあります:
-
0日目からキャンディーを食べ始めます。
-
以前のi-1タイプのキャンディーをすべて食べていない限り、タイプiのキャンディーを食べることはできません。
-
すべてを食べるまで、1日に少なくとも1つのキャンディーを食べる必要があります。
これらのルールを維持しながら、クエリ結果ごとにブール値の配列を作成する必要があります。また、favoriteType_iタイプのキャンディーを、dailyCap_iキャンディーを毎日食べることなく、favoriteDay_iタイプで食べることができる場合、i番目のエントリはtrueです。ルール2に従うことで、同じ日にさまざまな種類のキャンディーを食べることができます。
したがって、入力がcandiesCount =[7,4,5,3,8]、querys =[[0,2,2]、[4,2,4]、[2,13,100]]のような場合、出力は
のため、[true、false、true]になります-
0日目と1日目にタイプ0のキャンディーを2つ食べると、タイプ0のキャンディーを1日目に食べます
-
私たちは毎日最大4つのキャンディーを食べることができます。毎日4個のキャンディーを食べる場合、0日目にタイプ0のキャンディーを4個、1日目にタイプ0、タイプ1のキャンディーを4個食べます。2日目には、タイプ1、タイプ2の4個しか食べられません。キャンディーなので、2日目にタイプ4のキャンディーを食べることはできません。
-
毎日1つのキャンディーを食べることができます。13日目にタイプ2のキャンディーを食べます。
これを解決するには、次の手順に従います-
-
sumcandy:=1つの要素を持つリストcandiesCount[0]
-
index:=1
-
インデックス
-
sumcandyの最後に(sumcandy [index-1] + candiesCount [index])を挿入します
-
インデックス:=インデックス+ 1
-
-
sumcandyの最後に0を挿入します
-
res:=新しいリスト
-
クエリのそれぞれについて、実行します
-
typ:=each [0]
-
日:=各[1]
-
cap:=each [2]
-
day + 1> sumcandy [typ]または(day + 1)* cap <=sumcandy [typ-1]の場合、
-
resの最後にFalseを挿入します
-
-
それ以外の場合
-
resの最後にTrueを挿入します
-
-
-
解像度を返す
例
理解を深めるために、次の実装を見てみましょう-
def solve(candiesCount, queries): sumcandy = [candiesCount[0]] index=1 while index < len(candiesCount): sumcandy.append(sumcandy[index-1] + candiesCount[index]) index+=1 sumcandy.append(0) res=[] for each in queries: typ=each[0] day=each[1] cap=each[2] if day+1 > sumcandy[typ] or (day+1)*cap <= sumcandy[typ-1]: res.append(False) else: res.append(True) return res candiesCount = [7,4,5,3,8] queries = [[0,2,2],[4,2,4],[2,13,100]] print(solve(candiesCount, queries))
入力
[7,4,5,3,8], [[0,2,2],[4,2,4],[2,13,100]]
出力
[True, False, True]
-
Pythonでノードを交換することで2つのツリーを形成できるかどうかを確認するプログラム
2つのツリーがあるとすると、ノードの左右のサブツリーを何度でも交換して、最初のツリーを2番目のツリーに変換できるかどうかを確認する必要があります。 したがって、入力が次のような場合 その場合、出力はTrueになります これを解決するには、次の手順に従います- que1:=最初はroot0のキュー que2:=最初はroot1のキュー que1とque2は空ではありませんが、実行してください temp1:=新しいリスト、temp2:=新しいリスト values1:=新しいリスト、values2:=新しいリスト que1とque2に含まれる要素の数が
-
リストが空かどうかをチェックするPythonプログラム?
空のリストが与えられました。私たちの仕事は、このリストが空かどうかを確認することです。ここでチェックするのは暗黙のチェック方法です。 アルゴリズム Step 1: We take an empty list. Step 2: then check if list is empty then return 1 otherwise 0. サンプルコード # Python code to check for empty list def checklist(A): if not A: return 1 else: return 0 # Driver