Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. Pythonでツリーの隣接していないノードの最大合計を見つけるプログラム

    二分木があるとすると、2つの値が親から子に隣接できない場合に、取得できる値の最大合計を見つける必要があります。 したがって、入力が次のような場合 10、4、3が互いに隣接していないため、出力は17になります。 これを解決するには、次の手順に従います- 関数f()を定義します。これはノードを取ります ノードがnullの場合、 return(0、0) (a、b):=f(ノードの左側) (c、d):=f(ノードの右側) ペアを返します(ノード+ b+dとa+c、a + cの値の最大値) メインメソッドからf(root)を呼び出し、その最初の値を返します 理解を深めるために、次

  2. Pythonで非共有単語の最大長を見つけるプログラム

    単語と呼ばれる小文字のアルファベット文字列のリストがあるとすると、共通の文字を共有しない2つの異なる単語の長さの最大合計を見つける必要があります。したがって、入力がwords =[abcd、 mno 、 abdcmno 、 amno ]の場合、単語は共通の文字を共有しないため、出力は7になります[ abcd 、 mno ]、全長は7です。 これを解決するには、次の手順に従います- 関数sign()を定義します。これには言葉が必要です 値:=0 単語のcごとに、 value:=value OR(2 ^(ASCII of c-ASCII ofa)) 戻り値 メインの方法から、次の手順を

  3. PythonでKソートされたリストをマージするプログラム

    いくつかのリストがあるとすると、これらのリストはソートされています。これらのリストを1つのリストにマージする必要があります。これを解決するために、ヒープデータ構造を使用します。したがって、リストが[1,4,5]、[1,3,4]、[2,6]の場合、最終的なリストは[1,1,2,3,4,4,5,6]になります。 。 これを解決するには、次の手順に従います- n:=リストのサイズ ヒープ:=新しいリスト インデックスiとリストの行[i]ごとに、を実行します。 行が空でない場合、 ヒープに(row [0]、i、0)を挿入します res:=新しいリスト ヒープが空でない間は、 num、

  4. Pythonでリストのバランスをとるために両端から必要な削除の最小数を見つけるプログラム

    0と1を含むリストがあるとすると、リストの前または後ろから値を削除する必要があります。最後に、残りのリストの0と1の数が等しくなるように、必要な削除の最小数を見つける必要があります。 したがって、入力がnums =[1、1、1、0、0、1]の場合、出力は2になります。これは、最初の1と最後の1を削除して、2つの1と2つの0を作成できるためです。 。 これを解決するには、次の手順に従います- 最長:=0 d:=キー0に値-1を入力したマップ currSum:=0 0からnumsのサイズの範囲のiの場合は、 nums [i]が0と同じ場合、 currSum:=currSum-1

  5. Pythonの2つのリストから2つの要素間の最小の違いを見つけるプログラム

    L1とL2の2つのリストがあるとすると、L1の数値とL2の数値の差が最も小さいものを見つける必要があります。 したがって、入力がL1 =[2、7、4]、L2 =[16、10、11]の場合、最小の差は10-7 =3であるため、出力は3になります。 これを解決するには、次の手順に従います- リストL1を並べ替え、リストL2を並べ替えます ans:=無限大 i:=0、j:=0 i

  6. Pythonで要素を最大3回更新した後、最大値と最小値の最小差を見つけるプログラム

    numsという数値のリストがあると仮定し、要素を任意の値に更新できる操作について考えてみましょう。このような操作は最大で3つ実行できますが、結果として得られる最大値と最小値の差をnumsで見つける必要があります。 したがって、入力がnums =[2、3、4、5、6、7]の場合、リストを[4、3、4、5、4、4]に変更できるため、出力は2になります。次に、5-3=2です。 これを解決するには、次の手順に従います- numsのサイズが<=4の場合、 0を返す n:=numsのサイズ リスト番号を並べ替える 0から3の範囲のすべてのiについてnums[n-4+i]-nums[i]の差の最

  7. PythonでKタスクを完了するための最大時間を見つけるプログラム

    各行に3つの値があるタスクのマトリックスがあるとします。別の値kもあります。タスクからk行を選択し、Sと呼び、次の合計が最小化され、合計が次のように返されるようにする必要があります:maximum of(S [0、0]、S [1、0]、... S [k- 1、0])+最大(S [0、1]、S [1、1]、... S [k-1、1])+最大(S [0、2]、S [1、 2]、... S [k-1、2])次のように言うこともできます。3つの列のそれぞれがコストに寄与し、Sでその列の最大値をとることによって計算されます。空の最大値リストは0です。 したがって、入力がtasks =[[2、3、3]、

  8. Pythonでセットの最小要素と最大要素の合計がk未満である空でないサブセットをカウントするプログラム

    numsと呼ばれる数のリストと別の値kがあるとすると、Sの最小値+Sの最大値<=kとなるような空でないサブセットSの数を見つける必要があります。サブセットはマルチセットであることに注意する必要があります。したがって、サブセットは値ではなくリストの特定の要素を参照しているため、サブセットに重複する値が存在する可能性があります。 したがって、入力がnums =[2、2、5、6]、k =7の場合、出力は6になります。これは、[2]、[2]、[2、 2]、[2、5]、[2、5]、[2、2、5]。 これを解決するには、次の手順に従います- N:=Aのサイズ リストAを並べ替える ans:=0

  9. Pythonでバイナリツリーの最も頻繁なサブツリーの合計を見つけるプログラム

    二分木があるとすると、最も頻繁なサブツリーの合計を見つける必要があります。ノードのサブツリーの合計は、実際には、ノード自体を含む、ノードの下のすべての値の合計です。 したがって、入力が次のような場合 その場合、出力は2回発生するため3になります。1回は左の葉として、もう1回は3-6+6の合計として発生します。 これを解決するには、次の手順に従います- count:=空のマップ 関数getSum()を定義します。これはノードを取ります ノードがnullの場合、 0を返す mySum:=getSum(ノードの左側)+ getSum(ノードの右側)+ノードの値 count [

  10. Pythonで全員に少なくとも友達がいるかどうかを確認するプログラム

    0からn-1までの数字で表されるn人がいるとすると、friends[i][0]とfriends[i][1]が友達である友達のタプルのリストもあります。全員に少なくとも1人の友達がいるかどうかを確認する必要があります。 したがって、入力がn =3 friends =[[0、1]、[1、2]]の場合、Person0はPerson1の友達であり、Person1はPerson0の友達であり、 2、そして人2は人1の友達です。 これを解決するには、次の手順に従います- people:=サイズnのリスト、0で埋められる 友達のリンクごとに、 people [link [0]]:=True p

  11. Pythonで終了位置に到達するために必要な最小ホップ数を見つけるためのプログラム

    すべての要素が正である1つの配列numがあるとします。インデックス0にいます。ここで、配列の各要素は、その位置での最大ジャンプ長を表します。私たちの目標は、ジャンプの数を減らして、最終的なインデックス(n-1、nはnumsのサイズ)に到達することです。したがって、配列が[2,3,1,1,4]のようである場合、出力は2になります。これは、0からインデックス1にジャンプしてから、最後のインデックスであるインデックス4にジャンプできるためです。 これを解決するには、次の手順に従います- 終了:=0、ジャンプ:=0、最も遠い:=0 0からnumsの長さの範囲のiの場合– 1 farthest

  12. Pythonで特定の行列の島の数を数えるプログラム

    バイナリ行列があるとすると、行列内の島の数を見つける必要があります。ここで、1は土地用、0は水用です。したがって、島は隣接し、周囲が水に囲まれている1のグループです。ここでは、隣接するものは水平または垂直のみであり、対角線ではないと考えています。 したがって、入力が次のような場合 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 その場合、出力は4になります。 これを解

  13. Pythonで回文部分文字列の数をカウントするプログラム

    文字列sがあるとすると、s内の回文部分文字列の数を見つける必要があります。 したがって、入力がs =levelのような場合、パリンドロームのサブストリングは[l、 e、 v、 e、 l、 eveであるため、出力は7になります。 、レベル] これを解決するには、次の手順に従います- 関数check_palindrome()を定義します。これには、文字列、左、右が必要です ans:=0 =0、右

  14. Pythonですべての回文部分文字列の長さが奇数かどうかを確認するプログラム

    文字列sがあるとすると、そのすべての回文部分文字列の長さが奇数かどうかを確認する必要があります。 したがって、入力がs =levelのような場合、出力はTrueになります これを解決するには、次の手順に従います- 1からsのサイズの範囲のiについては、 s[i]がs[i-1]と同じ場合、 Falseを返す Trueを返す 理解を深めるために、次の実装を見てみましょう- 例 class Solution:    def solve(self, s):       for i in range(1, len(s)): &nbs

  15. Pythonの現在のインデックスを除くすべての要素の製品のリストを検索するプログラム

    numsという番号のリストがあるとすると、新しく生成されたリストのインデックスiの各要素が、インデックスiの番号を除く元のリストのすべての番号の積になるような新しいリストを見つける必要があります。ここでは、除算を使用せずに解決する必要があります。 したがって、入力がnums =[2、3、4、5、6]の場合、出力は[360、240、180、144、120]になります。 これを解決するには、次の手順に従います- numsのサイズが1未満の場合、 数値を返す l:=numsのサイズ left:=サイズlのリストで、最初はすべての値がnullです right:=サイズlのリストで、最

  16. Pythonで2つの文字列が0または1編集距離離れているかどうかをチェックするプログラム

    2つの文字列SとTがあり、それらが編集距離が1か0かどうかを確認する必要があるとします。編集操作は、文字の削除、文字の追加、または文字を別の文字に置き換えることとして定義できます。 したがって、入力がS =hello、T =halloの場合、これら2つの文字列の編集距離は1であるため、出力はTrueになります。 これを解決するには、次の手順に従います- m:=Sのサイズ、n:=Tのサイズ i:=0、j:=0 count:=0 1、次に Falseを返す i

  17. Pythonでリストを1つの整数に減らすための最小コストを見つけるプログラム

    numsという番号のリストがあるとします。任意の2つの数値を取得し、それらを削除して、最後にそれらの合計を追加することにより、numの長さを減らすことができます。この操作を実行するためのコストは、削除した2つの整数の合計です。 numsを1つの整数に減らすための最小の総コストを見つける必要があります。 したがって、入力がnums =[2、3、4、5、6]のような場合、出力は45になります。これは、2と3を取得し、削除して[4、5、6、5]を取得するためです。 4と5を取り、次に削除して[6、5、9]を取得し、次に6と5を取得し、それらを削除すると[9、11]を取得し、最後に9と11を削除する

  18. Pythonの間隔リストに挿入する可能性のある最小間隔を1つ見つけるプログラム

    各行が[開始、終了](両端を含む)間隔を表す間隔と呼ばれる数値の2Dリストがあるとします。区間[a、b](a

  19. 同じ連続する要素をPythonのサブリストにパックするプログラム

    数値と数値のリストがあるとすると、同じ値の連続する要素をサブリストにパックします。リストには1つしか出現しないため、それ自体のサブリストに含める必要があることに注意する必要があります。 したがって、入力がnums =[5、5、2、7、7、7、2、2、2、2]のような場合、出力は[[5、5]、[2]、[7、 7、7]、[2、2、2、2]] これを解決するには、次の手順に従います- numsが空の場合、 新しいリストを返す result:=nums [0]を含む別のリストを含むリスト j:=0 1からnumsのサイズの範囲のiの場合は、 nums[i]がnums[i-1]と

  20. Pythonの塗りつぶし操作を使用して色で塗りつぶすプログラム

    文字列「r」、「g」、および「b」として色を含む2Dグリッドがあるとします。カラーターゲットを使用して、行r、列cで塗りつぶし操作を実行する必要があります。フラッドフィル操作では、grid [r、c](上/右/下/左)に接続され、grid [r、c]と同じ色で、ターゲットと同じ色のすべての要素を置き換える必要があります。 したがって、入力が次のような場合 R R R R G B G B B その場合、出力は次のようになります G G G G G B G B B grid [0,

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:179/450  20-コンピューター/Page Goto:1 173 174 175 176 177 178 179 180 181 182 183 184 185