Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. Pythonですべてのジョブを完了するための最小時間を見つけるプログラム

    jobs [i]がi番目のジョブを完了するために必要な時間を示す、jobsという配列があるとします。また、別の値kがあり、それらにジョブを割り当てることができます。各ジョブは、正確に1人のワーカーに割り当てる必要があります。そして、労働者の労働時間は、彼らに割り当てられたすべての仕事を完了するのにかかる合計時間です。割り当ての可能な限り最小の最大作業時間を見つける必要があります。 したがって、入力がjobs =[2,1,3,8,5]、k =2の場合、出力は10になります。これは、次のようなジョブを割り当てることができるためです。 ワーカー1:2 + 5 + 3 =10 ワーカー

  2. Pythonで二乗配列の数を見つけるプログラム

    小文字のターゲット文字列を作成するとします。最初は、シーケンスはn?です。マーク(nはターゲット文字列の長さ)。小文字のスタンプもあります。各ターンで、シーケンスの上にスタンプを配置し、内のすべての文字をそのスタンプの対応する文字に置き換えることができます。最大10*nターンまで作成できます。 「ababc」。 したがって、入力がs =abcd t =abcdbcdの場合、出力は[3,0]になります。 これを解決するには、次の手順に従います- sのサイズが1と同じ場合、 t内のすべての文字が同じで、それらがs [0]の場合は、0からtまでのリストを返します。それ以外の場合は、新

  3. Pythonで石をマージするための最小コストを見つけるためのプログラム

    N個の石の山が一列に並んでいると仮定します。ここで、i番目の山には石[i]個の石があります。移動は、K個の連続する杭を1つの杭にマージすることで構成されます。この移動のコストは、これらのK個の杭の石の総数に等しくなります。石のすべての山を1つの山にマージするための最小コストを見つける必要があります。そのような解決策がない場合は、-1を返します。 したがって、入力がnums =[3,2,4,1]、K =2のような場合、最初は[3、2、4、1]であるため、出力は20になります。次に、[3、2]をコスト5とマージすると、[5、4、1]が得られます。その後、[4、1]をコスト5とマージし、[5、5]

  4. 文字列をチェックするプログラムは、Pythonでは3つの回文に分割できます。

    文字列sがあるとします。 sを3つの回文部分文字列に分割できるかどうかを確認する必要があります。 したがって、入力がs =levelpopracecarのような場合、level、 pop、 racecarのように分割できるため、出力はTrueになります。すべてがパリンドロームです。 これを解決するには、次の手順に従います- n:=sのサイズ dp:=次数nxnの行列でfalseで埋める n-1から0の範囲のiの場合、1ずつ減らします。 0からn-1の範囲のjの場合、実行 =jの場合、 dp [i、j]:=True それ以外の場合、s[i]がs

  5. Pythonでk人の労働者を雇うための最小コストを見つけるためのプログラム

    異なるワーカーごとにqualityという配列があり、wagesと値Kという別の配列があるとします。i番目のワーカーには、quality[i]と最低賃金期待賃金[i]があります。有給のグループを形成するためにK人の労働者を雇いたい。 K人の労働者のグループを雇用する場合、次の規則に従って彼らに支払う必要があります。 有給グループの各労働者は、有給グループの他の労働者と比較することにより、質の比率で支払われるべきです。 有給グループのすべての労働者は、少なくとも最低賃金の期待を支払わなければなりません。 上記の条件を満たす有料グループを形成するために必要な最小限の金額を見つける必

  6. Pythonで教える最小人数を見つけるためのプログラム

    番号n、「languages」という配列、「friendships」という配列があるとすると、1からnまでの番号が付けられたn個の言語があり、languages [i]はi番目のユーザーが知っている言語のセットを表し、friendships[ i]はペアを保持します[ui、vi]は、ユーザーuiとviの間の友情を示します。 1つの言語を選択して一部のユーザーに教えることで、すべての友達が互いにコミュニケーションできるようになります。教えるために必要な最小ユーザー数を見つける必要があります。 (友情は推移的ではないことを覚えておく必要があります。したがって、xがyの友達であり、yがzの友達である

  7. PythonでデコードされたXOR順列を見つけるプログラム

    配列encがあるとします。最初のn(odd)個の正の整数の順列である配列permがあります。このリストは、enc [i] =perm [i] XOR perm [i+1]のように長さn-1の配列encにエンコードされます。元の配列パーマを見つける必要があります。 したがって、入力がenc =[2,5,6,3]の場合、出力は[7、5、0、6、5]になります。ここでは、[7 XOR 5 XOR 0 XOR 6 XOR 5] =[ 2、5、6、3] これを解決するには、次の手順に従います- n:=encのサイズ result:=サイズ(n + 1)の配列で、0で埋めます x:=0 1

  8. Pythonの3つの条件を満たすように最小文字を変更するプログラム

    小文字のみの2つの文字列sとtがあるとします。 1つの操作で、sまたはtの任意の文字を任意の小文字に変更できます。次の3つの条件のいずれかを満たす必要があります- sのすべての文字は、アルファベットのtのすべての文字よりも厳密に小さくなっています。 tのすべての文字は、アルファベットのsのすべての文字よりも厳密に小さくなっています。 sとtはどちらも1つの異なる文字のみで構成されています。 結果を得るのに必要な最小限の操作数を見つける必要があります。 したがって、入力がs =sts、t =ussの場合、出力は2になります。 2回の操作でtを「uuu」に変更すると

  9. Pythonでk番目に大きいXOR座標値を見つけるプログラム

    1つのmxn行列があるとします。および別の値k。ここで、行列の座標(a、b)の値は、すべての行列[i、j]のXORです。ここで、iは範囲(0からa)にあり、jは範囲(0からb)にあります。行列のすべての座標のk番目に大きい値(1インデックス)を見つける必要があります。 したがって、入力が次のような場合 5 2 1 6 また、k =1の場合、座標(0,1)の値は5 XOR 2 =7であり、これが最大であるため、出力は7になります。 これを解決するには、次の手順に従います- m:=行数、n:=列数 0からm-1の範囲のiの場合、do 0からn-1の範囲の

  10. Pythonの二分木で2つのノード間の距離を見つけるプログラム

    二分木が与えられ、二分木の2つのノード間の距離を見つけるように求められたとします。グラフのように2つのノード間のエッジを見つけ、エッジの数またはそれらの間の距離を返します。ツリーのノードは以下のような構造になっています- data : <integer value> right : <pointer to another node of the tree> left : <pointer to another node of the tree> したがって、入力が次のような場合 そして、その間の距離を見つけなければならないノードは2と8です。その場

  11. Pythonで隣接するペアから配列を復元するプログラム

    サイズn-1のadPairという2D配列があり、各adPair [i]に2つの要素[ui、vi]があるとすると、要素uiとviはnumsという配列で隣接しており、numsにはn個の一意の要素があります。配列numsを見つける必要があります。複数の解決策がある場合は、それらのいずれかを返します。 したがって、入力がadPair =[[3,2]、[4,5]、[4,3]]の場合、出力は[2,3,4,5]になります。 これを解決するには、次の手順に従います- my_map:=さまざまなキーのリストを保存するための空のマップ adPairの各ペア(a、b)について、 my_map [a]の最

  12. Pythonでの操作後の最大サブ配列の合計を見つけるプログラム

    整数を含む配列が与えられたとします。 array[i]の値をその2乗値に置き換えることができる操作を実行できます。またはarray[i]*array[i]。この種の操作は1つだけ許可されており、操作後に可能な最大のサブ配列の合計を返す必要があります。サブアレイを空にすることはできません。 したがって、入力がarray =[4、1、-2、-1]のような場合、出力は17になります。 array [0]の値をその二乗値に置き換えると、配列は[16、1、-2、-1]になります。これから可能な最大サブアレイは[16、1]であり、最大合計値は16 + 1=17です。 これを解決するには、次の手順に従

  13. Pythonで最後に使用された要素をその最後に移動するキューを設計するプログラム

    最近使用した要素をその最後に移動するキューを設計するように求められたとします。キューは1からnまでの整数で初期化されます。次に、関数を作成して、呼び出されるたびに、入力として指定された位置からキューの最後に値を移動するようにする必要があります。関数を複数回呼び出し、関数は移動タスクの実行中に現在キューの最後にある値を返します。 したがって、キューが値n =5で初期化されている場合、または1から5までの値が含まれている場合。移動が実行される位置はそれぞれ5、2、3、および1であり、出力は5、2、4、1になります。 これを解決するには、次の手順に従います- i:=配列インデックス-1の位置

  14. Pythonでより良いビューを持つ建物を見つけるためのプログラム

    さまざまな建物の高さを含む配列が提供されているとします。建物は一列に並んでおり、他の高層ビルに遮られていない方が見晴らしが良くなります。したがって、高さを含む配列が提供された場合、他の高層ビルがない建物を見つけて、それらからの視界を遮る必要があります。インデックスは、基準を満たす配列から返されます。 したがって、入力がheight =[5、6、8、7]のような場合、出力は[2、3]になります。アレイインデックス0および1の建物は、インデックス2の建物によって遮られています。位置2の高い建物は、位置3の短い建物の後ろにあるため、インデックス2および3の建物はブロックされません。 これを解決す

  15. Pythonでの外観に基づいてフレーズを分類するプログラム

    2つのリストが与えられたとします。いくつかの選択されたフレーズを含む「フレーズ」と、他のリストのフレーズを含む場合と含まない場合があるいくつかのセンテンスを含む「センテンス」。最初のリストのさまざまなフレーズが2番目のリストに表示されるかどうかを確認し、2番目のリストの表示に基づいて最初のリストのフレーズを並べ替える必要があります。ソートされたリスト「フレーズ」を出力として返します。 したがって、入力がフレーズ=[strong、耐久性、効率的]、文=[製品は耐久性があり効率的、強力で耐久性、効率的、のようである場合効率的であるため]、出力は[効率的、耐久性、強い]になります 「効率的」とい

  16. Pythonで等しい部分文字列のペアの数を見つけるプログラム

    両方とも小文字のアルファベットで作られた2つの文字列が与えられたとします。与えられた条件を満たす四重項(p、q、r、s)の数を見つける必要があります- 0 <=p <=q<=最初の文字列の長さ。 0 <=r <=s<=2番目の文字列の長さ。 最初の文字列のインデックスpで始まり、最初の文字列のインデックスqで終わる部分文字列は、2番目の文字列のインデックスqで始まり、2番目の文字列のインデックスrで終わる部分文字列と等しくなければなりません。 q --rは、上記を満たすすべての4倍の範囲内で可能な最小値である必要があります。 そのような4倍の数を調べなければなりま

  17. Pythonで受け入れられた招待状の数を調べるプログラム

    m人の男の子とn人の女の子がいて、m=nであるとします。入ってくるパーティーがあり、それぞれの男の子は女の子と一緒にそのパーティーに行かなければなりません。したがって、男の子はすべての女の子を招待し、女の子は1つの招待のみを受け入れることができます。女の子が受け入れることができる男の子からの招待の総数を知る必要があります。入力はmxn行列で与えられます。ここで、各セル位置i、jは、男の子iが女の子jに手紙を送ったかどうかを示します。セルが1の場合は招待状が送信されたことを意味し、0の場合は招待状が送信されていないことを意味します。 したがって、入力が次のような場合 1 0 0

  18. Pythonで作成できる連続値の最大数を見つけるプログラム

    n個の要素を持つcoinsという配列があり、それが所有するコインを表しているとします。 i番目のコインの値はcoins[i]として表されます。合計がxになるようにn枚のコインのいくつかを選択できれば、値xを作成できます。 0から始まり0を含むコインで取得できる連続値の最大数を見つける必要があります。 したがって、入力がcoins =[1,1,3,4]の場合、出力は10になります。 0 =[] 1 =[1] 2 =[1,1] 3 =[3] 4 =[4] 5 =[4,1] 6 =[4,1,1] 7 =[4,3] 8 =[4,3

  19. Pythonで互いに素な間隔にパーティション配列を見つけるプログラム

    配列numがあるとすると、-のように、それを左右と呼ばれる2つの異なるサブ配列に分割する必要があります。 左側のサブアレイの各要素は、右側のサブアレイの各要素以下です。 左右のサブアレイは空ではありません。 左側のサブアレイのサイズは可能な限り最小です。 このような分割後の残りの長さを見つける必要があります。 したがって、入力がnums =[5,0,3,8,6]の場合、左側の配列は[5,0,3]になり、右側のサブ配列は[8,6]になるため、出力は3になります。 これを解決するには、次の手順に従います- mx:=null、temp:=null、nmx:=nul

  20. Pythonの有界配列の特定のインデックスで最大値を見つけるプログラム

    n、index、maxSumの3つの値があるとします。 nums [index]を見つける必要があるnumsという配列を考えてみましょう。また、numsは次の条件を満たす必要があります- numsのサイズはnです nのすべての要素は正です。 | nums [i]-nums [i + 1] | <=1すべてのi、0 <=i

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:363/450  20-コンピューター/Page Goto:1 357 358 359 360 361 362 363 364 365 366 367 368 369