-
Pythonでカバーできるブロックの数を見つけるためのプログラム
パスにn個のブロックがあり、作業者がブロックに色付きのタイルを置いているとします。作業者は、パス内のブロック番号が4または/および2で割り切れるが、42では割り切れない場合に、色付きのタイルを配置するようにブロックを配置しています。彼がk個の色付きタイルから始めた場合、彼がカバーできるブロックの数を調べる必要があります。 したがって、入力がk =16の場合、出力は32になります。 これを解決するには、次の手順に従います- MOD =10 ^ 9 + 7 商:=(k / 20)のフロア値 剰余:=k mod 20 余りが0と同じ場合、 return((42 * quotient-2
-
Pythonの行列に最大値を含むセルを見つけるプログラム
0で初期化されたnxn行列があるとします。これで、リストが表示され、特定の行と列の位置を含むいくつかのペアが含まれます。リスト内のアイテムiごとに、セルの内容が1ずつ増加します。ここで、行番号と列番号は、リスト内のアイテムiの行値と列値よりも小さくなります。すべてのリスト要素をトラバースした後、最大値を含むマトリックス内のセルの数を見つける必要があります。 (行と列のインデックスは0から始まります) したがって、入力がinput_list =[[3、5]、[4、6]、[5、3]]のようである場合、出力は9になります。5x6の行列であるとします。最初、マトリックスの値は 0 0 0 0 0
-
Pythonでポリゴンを初期状態にリセットするプログラム
n個の頂点、n個の反転軸、およびn個の回転点を持つポリゴンがあるとします。反転軸と回転点については、次のことが当てはまります。 nが奇数の場合、各反転軸は1つの頂点と反対側の中央のみを通過します。 nが偶数の場合、軸の半分は反対側の頂点のペアを通過し、残りの半分は反対側のペアを通過します。 次の2つの軸の角度は360/2nです。 次に、提供されたポリゴンを回転させます。 n種類の回転子があり、k回転子は、軸kでポリゴンを時計回りに(360 x k)/n度回転します。整数のいくつかのペアを含むリスト入力リストがあります。ペアの最初の整数は、ポリゴンを反転するか回転させるかを表します。最
-
Pythonでn回反転した後のボールの位置を見つけるプログラム
n個のボールがあるとします。ボールは1、2、3、4、...、nの方法で注文されます。これで、ボールが順番に逆になります。または、n、n-1、n-2、......、2、1の方法で順番に並べられます。ボールは再び順番に逆になり、今回は位置1から逆になります。 nに、または今、順序はn、1、2、.....、n-1になります。この反転プロセスはn回繰り返され、開始位置が1つ右に移動するたびに行われます。ここで、反転後、最初は「インデックス」の位置にあるボールの位置を確認する必要があります。 したがって、入力がボール=5、インデックス=2の場合、出力は4になります。ボールは最初は1、2、3、4、5
-
可能なBSTの数を見つけるプログラムは、Pythonのn個の異なるノードを使用して生成できます
数nがあるとします。 [1,2、...、n]のような数がある場合、これらのn個の値を使用して形成できるBSTの数を数える必要があります。答えが大きすぎる場合は、結果を10 ^ 9+7で変更します。 したがって、入力がn =3の場合、出力は14になります。 これを解決するために、次の手順に従います a:=値が[0、1]のリスト m:=10 ^ 9 + 7 max_n:=1000 2からmax_n+1の範囲のkについては、 (1 +リストのすべての要素の合計(a [i] * a [k --i] for all i in range(1、k)))modmをaの最後に挿入します
-
nをチェックするプログラムはPythonでkの合計として表示できるかどうか
数nと別の数kがあるとします。 nがk個の素数の和として表現できるかどうかを確認する必要があります。 したがって、入力がn =30 k =3の場合、30は2 + 11 + 17のように表すことができるため、出力はTrueになります。 これを解決するには、次の手順に従います- n
-
PythonのAjobシーケンスからシーケンスを選択する方法の数を見つけるためのプログラム
Ajob言語と呼ばれる奇妙な言語があるとします。文字数は無限です。私たちはこの言語でn語を知っています。最初の単語は1文字の長さで、2番目の単語は2文字の長さというように続きます。そして、単語内のすべての文字は一意です。 n個の単語のいずれかを選択し、そこからサブシーケンスを形成するとします。サブシーケンスの長さは、元の単語の長さよりk短くする必要があります。たとえば、選択した単語の長さがLの場合、サブシーケンスの長さは(L --k)になります。長さがkより小さい単語がある場合は、その単語を選択しないでください。また、2つのサブシーケンスは、長さが異なる場合、または同じ位置に異なる文字が含まれ
-
Pythonでn回連結して数値のモジュラスを見つけるプログラム
数Aがあるとします。Aをn回連続して連結し、mを法とするXの値を見つけることにより、多数のXを生成する必要があります。 したがって、入力がA =15 n =3 m =8の場合、数値xは151515、151515 mod 8 =3になるため、出力は3になります。 これを解決するには、次の手順に従います- Aが0と同じ場合、 0を返す an:=A c:=Aの桁数 c:=10 ^ c d:=c-1 newmod:=d * m val:=(c ^ n mod newmod)-1 val:=(val + newmod)mod newmod an:=(an * va
-
Pythonですべてのペアが適切である特定の配列の任意のシーケンスの最大サイズを見つけるプログラム
サイズnのシーケンス番号があるとします。すべてのペア(p、q)が適切なペアであるnumsのサブシーケンスの最大サイズを見つける必要がありますか?ペイトは、次の条件の少なくとも1つを保持している場合にのみ、適切なペアであると言われます。1.pの個別の素数除数の数のパリティがbのパリティと等しい。たとえば、値18には、2と3の2つの異なる素数の約数があります。2。pのすべての正の約数の合計のパリティはqと同じです。 したがって、入力がnums =[2,3,6,8]の場合、出力は3になります。 これを解決するには、次の手順に従います- n:=numsのサイズ 3つの空のリストcnt、
-
Pythonで2つの長方形で覆われた総面積を見つけるプログラム
2D平面内の2つの直線状の長方形でカバーされる総面積を求めたいとします。ここで、各長方形は、図に示すように、左下隅と右上隅によって定義されます。 これを解決するには、次の手順に従います- width_1:=| C-A |、height_1:=| D-B | width_2:=| G-E |、height_2:=| H-F | area:=width_1 * height_1 + width_2 * height_2 (G D)または(H
-
Pythonで効率的な方法で0からnの範囲のrのnCr値を見つけるプログラム
nCr値を何度も計算する必要があるとします。この非常に効率的な方法で解決できます。 nCrの低い値を保存すると、高い値を簡単に見つけることができます。したがって、nがある場合、nC0からnCnのリストを見つける必要があります。答えが大きすぎる場合は、そのモジュロ10^9を返します。 したがって、入力がn =6の場合、出力は[1、6、15、20、15、6、1]になります。 これを解決するには、次の手順に従います- items:=単一要素1のリスト 1からnの範囲のrについては、 アイテムの最後に(アイテムの最後の要素*(n-r + 1)/ r)のフロアを挿入します items [n-
-
Pythonでインドの宗派を使用してnR.sを取得できる方法の数を見つけるためのプログラム
金種の硬貨が限られているとします(1ポンド、2ポンド、5ポンド、10ポンド)。合計で合計£nになる方法をいくつ見つける必要がありますか?サイズ4の配列カウントがあります。ここで、count [0]は1ポンドのコインを示し、count[1]は2ポンドのコインを示します。 したがって、入力がn =25 count =[7,3,2,2]の場合、出力は9になります。 これを解決するには、次の手順に従います- denom:=[1,2,5,10] A:=サイズ(n + 1)の配列で、0で埋めます B:=Aからの新しいリスト 0から(count [0]およびnの最小値)の範囲のiの場合、do
-
Pythonで特定の文字列の文字のすべての可能な組み合わせのリストを見つけるプログラム
文字列sがあるとします。 sの文字の可能なすべての組み合わせを見つける必要があります。同じ文字セットを持つ2つの文字列がある場合は、辞書式順序で最も小さい文字列を表示します。そして、1つの制約は、sの各文字が一意であるということです。 したがって、入力がs =pqrのような場合、出力は[r、qr、q、pr、pqr、pq、p] これを解決するには、次の手順に従います- st_arr:=新しいリスト s-1から0の範囲サイズのiの場合、1ずつ減らします。 範囲0からst_arr-1のサイズのjの場合、do st_arrの最後に(s [i] concatenate st_arr [j]
-
Pythonで順序が変わらないように2つのリストをマージできる方法の数を見つけるためのプログラム
nums1とnums2の2つのリストがあるとします。ここでの制約は、各リストの要素の順序が変更されない場合です。たとえば、要素が[1,2,3]と[4,5,6]の場合、いくつかの有効なマージされたリストは[1、 4,2,3,5,6]および[1,2,3,4,5,6]の場合、他の有効なマージシーケンスが存在する可能性があります。したがって、リストのサイズがNとMの場合、有効なリストを取得するためにそれらをマージできる方法をいくつか見つける必要があります。答えが大きすぎる場合は、10 ^ 9+7を法とする結果が返されます。 したがって、入力がN =5 M =3の場合、出力は56になります。 これを
-
Pythonでn個のボールからランダムに選択されたk個のボールから最大要素と最小要素の差の合計を見つけるプログラム
配列numsで番号が付けられたn個のボールがあり、そのサイズはnであり、nums[i]はボールiの数を表しているとします。ここで、別の値kがあります。各ターンで、n個の異なるボールからk個のボールを選び、k個のボールの最大値と最小値の差を見つけて、その差をテーブルに保存します。次に、これらのk個のボールを再びそのポットに入れ、可能なすべての選択肢が選択されるまでもう一度ピックします。最後に、表からすべての差の合計を見つけます。答えが大きすぎる場合は、結果mod 10 ^ 9+7を返します。 したがって、入力がn =4 k =3 nums =[5、7、9、11]の場合、組み合わせは-であるため
-
Pythonでi番目とj番目の要素が同じになるようにペア(i、j)の数を見つけるプログラム
配列numsがあるとします。 nums [i] =nums [j]となるようなペア(i、j)の数を見つける必要がありますが、iはjと同じではありません。 したがって、入力がnums =[1,3,1,3,5]のような場合、ペアは(0,2)、(2,0)、(1,3)であり、出力は4になります。 (3,1) これを解決するには、次の手順に従います- d:=新しい地図 numsの各cについて、 d [c]:=(d [c] + 1)cがdに存在する場合、それ以外の場合は1 res:=0 1であるdのすべてのxのx)、do res:=res +(d [c] *(d [c] -1)
-
Pythonで合計がkで割り切れる連続したサブシーケンスの数を見つけるプログラム
配列numsと値kがあるとします。合計がkで割り切れる連続したサブシーケンスの数を見つける必要があります。 したがって、入力がk =3 nums =[1,2,3,4,1]の場合、サブシーケンスは[3]、[1,2]、[1,2,3]であるため、出力は4になります。 ]および[2,3,4]。 これを解決するには、次の手順に従います- x:=サイズkの配列で、0で埋めます x [0]:=1 r:=0、s:=0 numsの各要素について、 s:=(s + elem)mod k r:=r + x [s] x [s]:=x [s] + 1 return r 例 理解
-
Pythonで回文のないmサイズのアルファベットからの文字で作られたn個の長さの文字列を見つけるプログラム
m個の文字と別の値nがあるとします。これらのm文字から文字で作成された長さnの文字列の数を数える必要があり、文字列には1より大きい長さの回文部分文字列はありません。答えが大きすぎる場合は、結果を10 ^ 9+7で変更します。 したがって、入力がn =2 m =3の場合、m =3であるため、出力は6になります。したがって、アルファベットが{x、y、z}の場合、次のような文字列を生成できます。[xx、xy、xz 、yx、yy、yz、zx、zy、zz]ですが、[xx、yy、zz]は無効であるため、6つの文字列があります。 これを解決するには、次の手順に従います- p:=10 ^ 9 + 7
-
Pythonで開始から宛先に移動する辞書式最小の文字列を見つけるプログラム
デカルト平面の(0、0)の位置にいると仮定します。単一ユニットの水平(H)および垂直(V)移動のみを使用して、ポイント(x、y)に移動します。目的地に到達する方法は複数あります。それぞれの方法は、いくつかのHの動きといくつかのVの動きで構成されます。 (たとえば、ポイント(0,0)からポイント(2,2)に移動する場合、HVVHは可能な方法の1つです。)別の値kがある場合、辞書式順序でk番目に小さい方法を見つける必要があります。目的地に行きます。 したがって、入力が(x、y)=(3、3)k =3の場合、出力は「HHVVVH」になります これを解決するには、次の手順に従います- 関数path