-
Pythonの文字列からブール式を評価するプログラム?
演算子「and」と「or」を含むブール式を含む文字列sがあるとします。それを評価して、結果を返します。ここでは、式に括弧が含まれている場合があります。これを最初に評価する必要があります。 したがって、入力がs =T and(F or T)のような場合、出力はTrueになります これを解決するには、次の手順に従います。 スタック:=新しいリスト t=空白で分割されたsの要素のリスト tのvごとに、実行します v[0]が(と同じ場合、 v [(のインデックスから終了]が Tと同じ場合、スタックにtrueをプッシュします それ以外の場合、「)」が見つかった
-
最初のプレイヤーがPythonでキャンディーリムーブゲームで勝つかどうかを確認するプログラム?
キャンディーと呼ばれる番号のリストがあり、誰かが友人とゲームをしているとします。各ラウンドで、プレーヤーは同じ値の2つの連続したキャンディーを取り除くことができます。そして、キャンディーを手に入れることができない人は誰でも負けて、そのplayer1が最初に開始するので、player1が勝つかどうかを確認する必要があります。 したがって、入力がnums =[2、2、5]の場合、出力はTrueになります。まるで、player1が2を選択した場合、他のプレーヤーはキャンディーを選択できません。 これを解決するには、次の手順に従います。 スタック:=新しいスタック ターン:=0
-
Pythonでローマ数字を整数に変換するプログラム?
ローマ数字があるとします。それを数値に変換する必要があります。私たちが知っているように、ローマ数字は左から右へ、最大から最小への記号で表されますが、唯一の例外は、記号より1つ少ない記号を表す場合です。いくつかのローマ数字記号の意味は次のとおりです。 M:1000 「D」:500 「C」:100 L:50 X:10 「V」:5 「私」:1 したがって、入力が数字=MCLXVIのような場合、出力は1166になり、M =1000、C =100、合計は1100、L =50、X =10、VI =6になるため、合計は1166になります。 こ
-
Pythonで最長のチェーンを形成するボックスの数を見つけるプログラム?
ボックスのリストがあるとします。ここでは、各エントリに2つの値[start、end](start
-
Pythonのインターバル時間に基づいて受講できるコースの最大数を見つけるプログラムはありますか?
[start、end]の形式の間隔のリストがあると仮定します。これは、コースの開始時間と終了時間を表します。一度に受講できるコースは1つだけであり、コースの開始は最後のコースの終了よりも遅くする必要があると仮定して、受講できるコースの最大数を見つける必要があります。 したがって、入力がtimes =[[3、6]、[6、9]、[7、8]、[9、11]]の場合、コースを受講できるため、出力は3になります[[3 、6]、[7、8]、[9、11]] これを解決するには、次の手順に従います。 終了時間に基づいて時間を並べ替える カウンター:=0、終了:=-1 0から時間のサイズ
-
Pythonで等しい行の最大数を取得するために列の反転数を見つけるプログラム?
バイナリ行列があるとすると、指定された行列で任意の数の列を選択し、その列のすべてのセルを反転できます。セルの変換とは、セルの値を反転することを意味します。いくつかのフリップの後、すべての値が等しい行の最大数を見つける必要があります。したがって、マトリックスが次のような場合 0 0 0 0 0 1 1 1 0 出力は2になります。これは、最初の2列の値を変換した後、最後の2行の値が等しいためです。 これを解決するには、次の手順に従います。 x:=行列、m:=行数、n:=列数、r:=0 xの各要素iについて c:=0
-
Pythonで一意の文字の連結文字列の長さを見つけるプログラム?
文字列の単語のリストがあるとします。各文字が一意になるように、単語のサブシーケンスを連結して作成された文字列を作成する必要があります。最終的に、そのような最長の連結の長さを見つける必要があります。 したがって、入力がwords =[xyz、 xyw、 wab、 cde]の場合、重複する文字が含まれているため単語を選択できないため、出力は9になります。 これを解決するために、次の手順に従います ans:=0 関数recur()を定義します。これにはi:=0、cur:=空白の文字列が必要です if i is same as size of words , then &nbs
-
Pythonのリスト内のすべての各要素の連結ペアの合計を見つけるプログラム?
numsという番号のリストがあるとします。数字のすべてのペアのすべての連結の合計をnumsで見つける必要があります。ここでは、ペア(i、j)とペア(j、i)は異なると見なされます。 したがって、入力がnums =[5、3]のような場合、次の連結があるため、出力は176になります。(nums [0] + nums [0])=(5 concat 5)=55、( nums [0] + nums [1])=(5連結3)=53、(nums [1] + nums [0])=(3連結5)=35、(nums [0] + nums [0]) =(3連結3)=33の場合、合計は55 + 53 + 35 + 33
-
各マンションの高さのマトリックスを見つけるプログラムは、Pythonで可能な最大の高さに増加しますか?
2D行列があるとします。ここで、行列[r、c]は都市のマンションの高さを表します。西東のスカイラインは、マトリックスの各行の最大値を取得することで表示されます。そして、南北のスカイラインは、各列の最大値を取ることによって見ることができます。西東と南北のスカイラインを同じに保ちながら、各マンションの高さを可能な限り高くする新しいマトリックスを見つける必要があります。 したがって、入力が次のような場合 2 3 4 5 6 7 8 9 10 4 4 4 7 7 7 8 9 10
-
Pythonで可能な限り長いスティックの長さを見つけるプログラム?
整数スティックのリストがあるとします。ここで、リスト内の各要素は2つの端を持つスティックを表し、これらの値は1〜6です。これらは各端を表しています。両端が同じであれば、2本のスティックをつなぐことができます。結果として得られるスティックの端は残りの端になり、その長さが長くなります。可能な限り長いスティックの長さを見つける必要があります。 したがって、入力がsticks =[[2、3]、[2、4]、[3、5]、[6、6]]のようである場合、[2、3を接続できるため、出力は3になります。 ]と[2、4]で[3、4]を取得し、[3、5]と接続して[4、5]を取得できます。 これを解決するには、次
-
Pythonのバイナリツリーから子が1つしかないすべてのノードを削除するプログラム?
二分木ルートがあるとします。子が1つだけのすべてのノードを削除する必要があります。 したがって、入力が次のような場合 その場合、出力は次のようになります これを解決するには、次の手順に従います。 ソルブ()と呼ばれるメソッドを定義します。これはツリールートを取ります ルートがnullの場合、 ルートを返す ルートの左側がnullで、ルートの右側がnullの場合、 ルートを返す ルートの左側がnullの場合、 リターンソルブ(ルートの右) ルートの権利がnullの場合、 リターンソルブ(ルートの左側)
-
Pythonで次のセルマトリックス状態の次の状態を見つけるプログラム?
1が生細胞を意味し、0が死細胞を意味する2Dバイナリ行列があるとします。セルの隣接セルは、そのすぐ近くの水平、垂直、および対角線のセルです。これらのルールを使用して、マトリックスの次の状態を見つける必要があります 2つまたは3つの生きている隣人がいる生きている細胞は生きています。 隣接する細胞が3つある死んだ細胞は、生きた細胞になります。 他のすべての細胞は死にます。 したがって、入力が次のような場合 1 1 0 0 0 1 0 0 0 1 0 1 1 1 0 1 その場合、出力は
-
Pythonで数を互いに素にしないために必要な操作の最小数を数えるプログラム?
AとBの2つの数値があるとします。これで、各演算で、数値のいずれかを選択して1ずつインクリメントするか、1ずつデクリメントできます。最大公約数になるように必要な最小の演算数を見つける必要があります。 AとBの間は1ではありません。 したがって、入力がA =8、B =9の場合、出力は1になります。これは、9を選択してから10に増やすことができるため、8と10は互いに素ではありません。 これを解決するには、次の手順に従います。 aとbのgcdが1と同じでない場合、 0を返す aが偶数またはbが偶数の場合、 1を返す それ以外の場合 a+1とbのgcd
-
Pythonでnステップでコピーアンドペーストして最大文字数を印刷するようにプログラムしますか?
数nがあるとします。 n個の操作を使用して入力できる最大文字数を見つける必要があります。各操作は次のようになります 文字「x」を挿入します。 すべての文字をコピーします。 貼り付け したがって、入力がn =12の場合、出力は81になります。 これを解決するために、次の手順に従います n <=4の場合、 nを返す v:=6、x:=3、i:=5、j:=0 iはnと同じではありませんが、実行してください v:=v + x i:=i + 1、j:=j + 1 jが3で割り切れる場合、 x:=(x * 1.5)の整数
-
Pythonで階段の一番上に登るのに最小限のコストを取得するためのプログラムはありますか?
階段と呼ばれる数のリストと別の値kがあるとします。現在、階段0にあり、最後の階段のインデックスに登りたいと考えています。値stair[i]は、インデックスに到達するためのコストを示し、各ラウンドで1、2、...kの階段を一度にジャンプできます。最後の階段に登るのに必要な最小費用を見つける必要があります。 したがって、入力がstairs =[4、11、11、3、2] k =3の場合、stairs [4、3、2] を使用すると、出力は9になります。 これを解決するために、次の手順に従います q:=両端キューで、ペア(stairs [0]、0)を挿入します 1から階段のサイズまでの範
-
Pythonで最も長く減少するワードチェーンの長さを見つけるプログラム?
有効な単語のリストがあり、文字列sもあるとすると、sから始めて単一文字を削除することで生成できる、減少する単語の最長チェーンの長さを見つけて、有効な単語を作成する必要があります。 「li」という単語からチェーンを作成できるため、出力は4になります。 これを解決するために、次の手順に従います 関数solve()を定義します。これには言葉が必要です、s max_num:=0 言葉で言うと、iごとに iがsと同じ場合、 0からsのサイズの範囲のjについては、次のようにします max_num:=最大1 + solution(words、s [from inde
-
Pythonでnums[i]+ nums [j] +(i -j)が最大化されるペア(i、j)を見つけるプログラム?
numsという数のリストがあるとすると、i
-
Pythonでコインと数量を使用して作成できる個別のコインの合計数を見つけるプログラムはありますか?
コインと呼ばれる値のリストと、同じ長さの数量と呼ばれる別のリストがあるとします。 i番目のコインの価値はcoins[i]であり、現在、i番目のコインの数量[i]の数があります。これらのコインの空でないグループを使用して取得できる個別のコインの合計値の数を見つける必要があります。 したがって、入力がコイン=[1、2、5]数量=[1、2、1]のようである場合、次の個別のコイン合計[1] =1、[2]を持つことができるため、出力は10になります。 =2、[1,2] =3、[2,2] =4、[5] =5、[1,5] =6、[2,5] =7、[1,2,5] =8 、[2,2,5] =9、[1,2,2,
-
Pythonでパターンを太字のタグで囲むプログラム?
テキストとパターンと呼ばれる文字列のリストがあるとすると、指定されたパターンの任意の文字列に一致するテキスト内のすべてのサブ文字列がとでラップされるエンボールド関数を定義する必要があります。 タグ。 2つのパターンが隣接または重複している場合は、それらを1つのタグにマージする必要があります。 したがって、入力がtext =thisissampleline pattern =[this、 issam、 sample]の場合、出力は a bc d ef g 、bcとefはテキストと一致し、タグとタグで囲まれているため。 これを解決するために、次の手順に従います n:=テキストのサ
-
Pythonでコマンドライン引数を追加するにはどうすればよいですか?
はじめに.. Pythonには、コマンドライン引数を解析するための関数を提供する非常に強力なargparseモジュールがあります。多くの対話なしでOSコマンドラインからユーザー入力を取得したい場合、またはコマンドラインからパラメーターを受け入れるプログラムをコーディングしたい場合。解析するURLを指定するか、ファイルを受け入れてS3バケットにアップロードすると、最小限の労力でargparseを使用できます。 基本的な使用法 コードが受け入れる引数を定義します。 引数パーサーを呼び出して、結果オブジェクトを返します。 引数を使用します。 つまり、引数パーサーの構造は次の