-
Pythonでc[i]=d * a [i] +b[i]として作成された配列c[]のゼロの数を最大化するためにdを見つけます
n個の整数の2つの配列AとBがあるとします。ここで、配列Cを考えます。ここで、i番目の数はd * A [i] +B[i]になります。 dは任意の実数です。配列Cが最大数のゼロを持つようにdを見つける必要があります。ゼロの数も返します。 したがって、入力がA =[15、40、45]およびB =[4、5、6]の場合、出力はd =-0.266666になり、ゼロの数は1になります。 これを解決するには、次の手順に従います- n:=Aのサイズ my_map:=新しいマップ カウント:=0 0からnの範囲のiの場合、実行 B [i]が0と同じでなく、A [i]が0と同じ
-
Pythonで行列のすべての行に共通する個別の要素を見つける
次数mxmの正方行列があるとします。与えられた行列のすべての行に共通するすべての異なる要素を見つける必要があります。 したがって、入力が次のような場合 13 2 15 4 17 15 3 2 4 36 15 2 15 4 12 15 26 4 3 2 2 19 4 22 15 この場合、出力は[2,4,15]になります。 これを解決するには、次の手順に従います- 関数sortRows()を定義します。これにはマトリックスが必要です n:=行数 0
-
Pythonでビット配列を使用して配列の重複を検索する
n個の異なる数値の配列があるとします。 nは最大で32,000にすることができます。配列に重複するエントリがある可能性があり、nの値がわかりません。 4キロバイトのメモリしかない場合、アレイ内のすべての重複をどのように表示しますか? したがって、入力が[2、6、2、11、13、11]の場合、2と11が指定された配列に複数回表示されるため、出力は[2,11]になります。 これを解決するには、次の手順に従います- 1バイト配列型のデータ構造bit_arrを作成します。次のメソッドがあります コンストラクターの定義これにはnが必要です arr:=サイズの配列(n / 2 ^ 5)+
-
Pythonで指定された単調シーケンスの要素位置を検索します
数lと単調増加シーケンスf(m)があるとします。ここで、f(m)=am + bm [log2(m)] + cm ^ 3および(a =1、2、3、…)、(b =1、2、3、…)、(c =0、1、2、3、…) ここで、[log2(m)]は2を底とする対数であり、値を切り捨てます。だから、 m =1の場合、値は0です。 m =2-3の場合、値は1です。 m =4-7の場合、値は2です。 m =8-15の場合、値は3などです。 f(m)=lとなるような値mを見つける必要があります。シーケンスにlが存在しない場合は、0を出力する必要があります。値は次のように表すことができるようになっているこ
-
Pythonで指定されたPrimeの倍数であるAPの最初の要素を検索します
APシリーズの第1項(A)と共通の差(d)があり、素数Pもあるとすると、最初の要素の位置を見つける必要があります。与えられた素数Pの倍数である与えられたAPで。 したがって、入力がA =3、D =4、P =5の場合、指定されたAPの第4項は素数5の倍数であるため、出力は3になります。したがって、第1項=3、第2項=3 + 4 =7、第3項=3 + 2 * 4=11および第4項=3+ 3 *4=15。 これを解決するには、次の手順に従います- 関数get_pow()を定義します。これにはx、y、pが必要です ans:=1 x:=x mod p 0の場合、実行
-
Pythonで最大積と合計がN-Set-2に等しいNの4つの因子を見つけます
番号Nがあるとします。 Nの因数を見つけて、次のようなNの4つの因数の積のみを返す必要があります- 4つの要素の合計はNと同じです。 4つの要素の積が最大になります。 製品を最大化するために、4つの要素すべてを互いに等しくすることができます。 したがって、入力がN =60のような場合、すべての要素が→1 2 3 4 5 6 10 12 15 20 30 60であるため、出力は50625になり、15が4回選択されているため、それらの積は50625になります。製品を最大にする。 これを解決するには、次の手順に従います- my_map:=新しいマップ v:=新しいリ
-
Pythonで1からNまでの要素を含む配列で4つの欠落している数値を検索します
各数値が[1、N]の範囲にあり、配列サイズが(N-4)であり、単一の要素が繰り返されていない、個別の数値の配列があるとします。したがって、1からNまでの4つの数値が配列に欠落していることがわかります。これらの4つの欠落している番号を並べ替えて見つける必要があります。 したがって、入力がA =[2、8、4、13、6、11、9、5、10]の場合、出力は[1、3、7、12]になります。 これを解決するには、次の手順に従います- temp_arr:=すべて0のサイズ4の配列 0からAのサイズの範囲のiの場合、実行 temp:=| A [i] | temp <=Aのサイズの
-
Pythonで辺がx軸とy軸に平行な正方形を形成するように4つの点を見つけます
n組のポイントがあるとします。辺がx軸とy軸に平行な正方形を生成できるように、4つの点を見つける必要があります。そうしないと、「不可能」と返されます。複数の正方形が見つかった場合は、面積が最大の正方形を選択してください。 したがって、入力がn =6のような場合、ポイント=[(2、2)、(5、5)、(4、5)、(5、4)、(2、5)、(5、2)] 、出力は3になり、ポイントは(2、2)(5、2)(2、5)(5、5) これを解決するには、次の手順に従います- my_map:=新しいマップ 0からnの範囲のiの場合、実行 my_map [(points [i、0]、points
-
無向グラフにPythonで指定されたサイズの独立集合が含まれているかどうかを確認します
与えられた無向グラフがあるとしましょう。サイズlの独立集合が含まれているかどうかを確認する必要があります。サイズlの独立したセットがある場合は、「はい」を返します。それ以外の場合は「いいえ」を返します。 グラフ内の独立集合は、互いに直接接続されていない頂点の集合として定義されていることに注意する必要があります。 したがって、入力がL =4のような場合、 その場合、出力はyesになります これを解決するには、次の手順に従います- 関数is_valid()を定義します。これはグラフを取ります、arr 0からarrのサイズまでの範囲のiの場合、実行します i + 1
-
与えられた二分木の垂直レベルがPythonでソートされているかどうかを確認します
二分木があるとします。二分木の与えられた垂直レベルがソートされているかどうかをチェックする必要があります。 2つのノードがオーバーラップしている場合は、それらが属するレベルでソートされた順序になっていることを確認してください。 したがって、入力がl =-1のような場合 レベル-1の要素は3.7であり、ソートされているため、出力はTrueになります。 これを解決するには、次の手順に従います- ルートがnullの場合、 Trueを返す previous_value:=-inf current_level:=0 current_node:=値が0の新
-
Pythonで特定の範囲のコストと数量から比率を取得できるかどうかを確認します
lowCostからupCostまでのコストの範囲と、lowQuantからupQuantまでの別の量の範囲があるとすると、r=コスト/数量である特定の比率rを見つけることができるかどうかを確認する必要があります。 、およびlowCost⇐コスト⇐upCostおよびlowQuant⇐数量⇐upQuant。 したがって、入力がlowCost =2、upCost =10、lowQuant =3、upQuant =9、r =3のような場合、コスト=r*数量=3* 3=9として出力はTrueになります。範囲は[1、10]で、数量は[2、8]です。 これを解決するには、次の手順に従います- l_q
-
カップと棚のすっきりとした配置がPythonでできるかどうかを調べます
配列pに3種類のカップがあり、配列qとmの棚に受け皿があるとすると、カップと棚をきちんと配置できるかどうかを確認する必要があります。 これらの条件に従えば、カップとソーサーの配置はきれいになると言えます。-1。カップとソーサーの両方を収納できる棚はありません。 2.自己には最大5つのカップを含めることができます。 3.自己には最大10個の受け皿を含めることができます。 したがって、入力がp =[4、3、7] q =[5、9、10] m =11の場合、カップの総数=14、3つの棚、合計の受け皿が必要になるため、出力はTrueになります。 =24、3つの棚が必要です。したがって、必要な棚の総数
-
Pythonのソースからkを超える長さのパスがあるかどうかを確認します
グラフがあり、ソース頂点と数値kもあるとします。 kは、ソースから宛先までのグラフのパスの長さです。ソースから始まり、他の頂点(宛先として)で終わる単純なパス(サイクルなし)を見つけることができるかどうかを確認する必要があります。グラフを以下に示します- したがって、入力がSource =0、k =64のような場合、0から7から1から2から8から6から5から3から4の単純なパスが存在するため、出力はTrueになります。このパスの長さは合計です。 64以上の68の距離。 これを解決するには、次の手順に従います- 順序ノードxノードの隣接行列adjを使用してグラフを定義し、エッジコ
-
Pythonで連結したときに回文を形成するまでS1の接頭辞とS2の接尾辞が続くようなインデックスiを見つけます
同じ長さの2つの文字列S1とS2があるとすると、S1[0…i]とS2[i+1…n-1]が与えるようなインデックスiを見つける必要があります。それらが一緒に連結されたときの回文。不可能な場合は、-1を返します。 したがって、入力がS1 =pqrsu、S2 =wxyqpの場合、出力はS1 [0..1] =pq、S2 [2..n-1]=ypqとして1になります。 、次にS1 + S2 = pqyqp は、回文であることを示します。 これを解決するには、次の手順に従います- n:=str1のサイズ str:=空白の文字列 0からnの範囲のiの場合、実行 str:=str c
-
バイナリ配列で1の最長の連続シーケンスを取得するために1に置き換えられる0のインデックスを検索します-PythonのSet-2
バイナリ配列が1つあるとします。 1の連続シーケンスの最大数を取得するには、1に置き換えることができる0の位置を見つける必要があります。 したがって、入力が[1、1、0、0、1、0、1、1、1、1、0、1、1]の場合、出力は10になるため、配列は[1、 1、0、0、1、0、1、1、1、1、1、1、1]。 これを解決するには、次の手順に従います- i:=0、 n:=Aのサイズ count_left:=0、count_right:=0 max_i:=-1、last_i:=-1 count_max:=0 i
-
復号化された文字列のk番目の文字を検索-Pythonで2を設定
1つのエンコードされた文字列があり、部分文字列の繰り返しが部分文字列とそれに続く部分文字列の数として表されているとします。たとえば、文字列が「pq2rs2」でk =5の場合、出力は「r」になります。これは、復号化された文字列が「pqpqrsrs」であり、5番目の文字が「r」であるためです。暗号化された部分文字列の頻度は1桁を超える可能性があることに注意する必要があります。 したがって、入力がstring=pq4r2ts3およびk=11のような場合、文字列はpqpqpqpqrrtststs であるため、出力はiになります。 これを解決するには、次の手順に従います- エンコードされた:=
-
Pythonで同じ左と右のサブツリーを持つ最大のサブツリーを検索します
二分木があるとします。左右が同じサブツリーを持つ最大のサブツリーを見つける必要があります。望ましい時間計算量はO(n)です。 したがって、入力が次のような場合 その場合、出力は次のようになります これを解決するには、次の手順に従います- 関数solve()を定義します。これはroot、encode、maxSize、maxNodeを取ります ルートがNoneの場合、 0を返す left_list:=空白の文字列を含むリスト right_list:=空白の文字列を含むリスト ls:=resolve(root.left、left_list、m
-
増加部分と減少部分がPythonの2つの異なる配列からのものであるような最長のバイトニックシーケンスを見つけます
2つの配列があるとします。増加する部分が最初の配列からのものであり、最初の配列のサブシーケンスになるように、可能な限り長いビットニックシーケンスを見つける必要があります。同様に、の減少部分は、2番目の配列と2番目の配列のサブシーケンスからのものである必要があります。 したがって、入力がA =[2、6、3、5、4、6]、B =[9、7、5、8、4、3]の場合、出力は[2、3、4]になります。 、6、9、7、5、4、3] これを解決するには、次の手順に従います- 関数index_ceiling()を定義します。これには、arr、T、left、right、keyが必要です 1、実行
-
Pythonで文字列から文字を削除またはシャッフルすることによって形成された最長の回文を検索します
文字列があるとします。文字列から文字を削除またはシャッフルすることによって生成できる最長の回文を見つける必要があります。また、複数の回文がある場合は、1つだけを返します。 したがって、入力がpqqprrsのような場合、出力はpqrsrqpになります。 これを解決するには、次の手順に従います- count:=サイズ256の配列、0で埋められた 0から文字列のサイズまでの範囲のiの場合、実行 count [ASCII of(string [i])]:=count [ASCII of(string [i])] + 1 begin:=空白の文字列、mid:=空白の
-
Pythonで重複した配列から失われた要素を見つける
1つの要素を除いて互いに重複している2つの配列があるとすると、指定された配列の1つから1つの要素が欠落している場合、その欠落している要素を見つける必要があります。 したがって、入力がA =[2、5、6、8、10]、B =[5、6、8、10]の場合、2番目の配列に2がないため、出力は2になります。 これを解決するには、次の手順に従います- 関数solve()を定義します。これにはA、B、Nが必要です Nが1と同じ場合、 A [0];を返します A[0]がB[0]と同じでない場合、 A [0]を返します 低:=0、高:=N-1 低<高、実行