Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. Pythonのターゲットよりも差が大きい個別のペアの最大数をカウントするプログラム

    numsと呼ばれる数値のリストと別の値のターゲットがあるとします。各ペアについてi=ターゲット。 したがって、入力がnums =[2、4、6、10、11]、target =5の場合、ペアを取得できるため、出力は2になります:(2、6)、(5、10) これを解決するには、次の手順に従います- N:=Aのサイズ リストAを並べ替える ans:=0 j:=N / 2 0からN/2の範囲のiについては、 j

  2. リンクリストペアのノードをC++でワイズスワップするプログラム

    リンクリストがあるとします。隣接する2つのノード(ペア)ごとにスワップして、そのヘッドを返す必要があります。ここでの制約は、ノードの値を変更することはできず、ノード自体のみを変更できるということです。したがって、リストが[1,2,3,4]のような場合、結果のリストは[2,1,4,3]になります。 これを解決するには、次の手順に従います- 頭がない場合は、頭を戻します 最初の:=頭、2番目の:=頭の次、ダミーは値-1の1つの新しいノードです ダミーの次:=最初、前:=ダミー 2番目はnullではありません temp:=次の秒 次の最初:=2番目の次 次の2番目:=最初 次の前:=秒 前:=

  3. リンクリスト項目をチェックするプログラムがPythonで回文を形成しているかどうか

    リンクリストがあるとします。リスト要素が回文を形成しているかどうかを確認する必要があります。したがって、リスト要素が[5,4,3,4,5]のような場合、これは回文ですが、[5,4,3,2,1]のようなリストは回文ではありません。 これを解決するには、次の手順に従います- 高速:=ヘッド、低速:=ヘッド、回転:=なし、フラグ:=1 ヘッドが空の場合は、trueを返します 高速および次の高速が利用可能である間 次の高速が利用可能な場合は、フラグ:=0を設定し、ループを解除します fast:=next of the next of fast temp:=遅い、遅い:=次の遅い temp

  4. 与えられた文字列をチェックするプログラムは、Pythonで回文のアナグラムであるかどうか

    文字列sがあるとすると、sの順列が回文であるかどうかを確認する必要があります。 したがって、入力がs =admmaのような場合、admmaを回文であるmadamに再配置できるため、出力はTrueになります。 これを解決するには、次の手順に従います- c:=sの個々の文字数を保持するマップ count:=0 cのすべての値のリストにある各iについて、 iが奇数の場合、 カウントが0と同じ場合、 count:=count + 1 ループから抜け出す Falseを返す Trueを返す 理解を深めるために、次の実装を見てみましょう- 例 from collectio

  5. Pythonでツリーの順序が回文であるかどうかを確認するプログラム

    各ノードに0〜9の数字が含まれる二分木があるとすると、その順序の走査が回文であるかどうかを確認する必要があります。 したがって、入力が次のような場合 その場合、その順序トラバーサルは[2,6,10,6,2]であるため、出力はTrueになります。 これを解決するには、次の手順に従います- rootがnullの場合、 Trueを返す スタック:=新しいスタック curr:=root 順序:=新しいリスト スタックが空でないか、currがnullでない場合は、 currがnullでない場合は、 currをスタックにプッシュします curr:=currの左側 node

  6. Pythonでバイナリツリーのリーフノードと非リーフノードを検索するプログラム

    二分木があるとすると、2つの数字のリストを見つける必要があります。最初の数字はツリー内の葉の数で、2番目の数字は非葉ノードの数です。 したがって、入力が次のような場合 3つのリーフと2つの非リーフノードがあるため、出力は(3、2)になります。 これを解決するには、次の手順に従います- nがnullの場合、 return(0、0) nの左側がnullで、nの右側がnullの場合、 return(1、0) 左:=ソルブ(nの左) right:=resolve(right of n) return(left [0] + right [0]、1 + left [1]

  7. Pythonでツリーを2つのツリーに分割できる方法の数を数えるプログラム

    値0、1、および2を含む二分木があるとします。ルートには少なくとも1つの0ノードと1つの1ノードがあります。ここで、ツリーのエッジを削除し、ツリーが2つの異なるツリーになる操作があるとします。 2つのツリーのいずれにも0ノードと1ノードの両方が含まれないように、1つのエッジを削除できる方法の数を見つける必要があります。 したがって、入力が次のような場合 0から2のエッジしか削除できないため、出力は1になります。 これを解決するには、次の手順に従います- count:=[0、0、0] 関数dfs()を定義します。これはノードを取ります ノードがnullでない場合、 pre:=

  8. Pythonでコインを労働者に配布する方法の数を数えるプログラム

    コインと給与と呼ばれる正の数の2つのリストがあるとします。ここで、coins [i]はコインiの値を示し、salaries[j]はワーカーjに支払う必要のある最低の給与額を示します。ここで、タイプごとに1つのコインがあり、各ワーカーに正確に1つのコインを与える必要があるとすると、各ワーカーにコインを与える方法の数を計算する必要があります。ここで、ある労働者が1つの方法である種類のコインを受け取り、別の方法で別の種類のコインを受け取る場合、2つの方法は異なります。結果が非常に大きい場合は、結果mod 10 ^ 9+7を返します。 したがって、入力がcoins =[1、2、3]、salaries

  9. Pythonで複数のコピーを取得することにより、ナップサック問題で取得できる最大値を見つけるプログラム

    重みと値と呼ばれる同じ長さの2つのリストがあり、別の値容量もあるとします。ここで、weights[i]とvalues[i]は、i番目のアイテムの重みと値を表します。最大で容量の重みを取得でき、アイテムごとに任意の数のコピーを取得できる場合は、取得できる最大の価値を見つける必要があります。 したがって、入力が重み=[1、2、3]、値=[1、5、3]、容量=5のような場合、出力は11になります。 これを解決するには、次の手順に従います- 関数dp()を定義します。これにはi、kが必要です iがウェイトのサイズと同じである場合、 0を返す ans:=dp(i + 1、k) =weig

  10. Pythonで隣接するサブアレイの最大積を見つけるプログラム

    numsという配列があるとすると、最大の積を持つ配列(少なくとも1つの数値を含む)内の連続するサブ配列の要素の積を見つける必要があります。したがって、配列が[1,9,2,0,2,5]の場合、連続するサブ配列[1,9,2]の積が最大になるため、出力は18になります。 これを解決するには、次の手順に従います- max_list:=サイズ番号のリスト、0で埋める min_list:=サイズ番号のリスト、0で埋める min_list:=サイズ番号のリスト、0で埋める 1からnumsの長さのiの場合 max_list [i] =max_list [i-1] * nums [i]、min_li

  11. Pythonで捕まえることができる雨の総量を見つけるためのプログラム

    n個の非負の整数の配列があるとします。これらは、各バーの幅が1である高さを表しており、雨が降った後にどれだけの水を捕まえることができるかを計算する必要があります。したがって、マップは次のようになります- ここでは、8つの青いボックスがあることがわかります。したがって、出力は8になります。 これを解決するには、次の手順に従います- スタックst、water:=0およびi:=0を定義します whilei<身長のサイズ =height [i]の場合、iをスタックにプッシュし、iを1増やします それ以外の場合 x:=スタックトップ要素、スタックからトップを削除 スタックが空でない場合

  12. Pythonで特定の範囲の要素を更新するプログラム

    numsと呼ばれる数値のリストと演算のリストがあるとします。ここで、各操作には3つのフィールド[L、R、X]があります。これは、インデックスLからRまでのすべての要素をXずつインクリメントする必要があることを示しています。すべての操作を適用して、最終的なリストを返す必要があります。 したがって、入力がnums =[8、4、2、-9、4]のような場合操作=[[0、0、3]、[1、3、2]、[2、3、5]]、最初のリストは[8、4、2、-9、4]であったため、出力は[11、6、9、-2、4]になります。 最初の操作[0、0、3]を実行すると、リストは[11、4、2、-9、4]になります。 最初

  13. Pythonのリストで重複するエントリを削除するプログラム

    numsという番号のリストがあるとすると、リストに複数回表示される番号を削除する必要があります。また、元のリストに表示される順序を維持する必要があります。 したがって、入力がnums =[2、4、6、1、4、6、9]の場合、これらの要素は1回しか表示されないため、出力は[2、1、9]になります。 これを解決するには、次の手順に従います- dict:=新しい地図 numsの各iについて、 私が口述されていない場合は、 dict [i]:=0 dict [i]:=dict [i] + 1 dict[e]が1であるnumsのすべての要素eを含むリストを返します 理解を深

  14. Pythonのリンクリストで重複するエントリを削除するプログラム

    番号のリンクリストがあるとすると、リンクリストに複数回表示される番号を削除する必要があり(出力に1回だけ表示される)、元のリンクリストに表示される順序も維持する必要があります。 9]になります。 これを解決するには、次の手順に従います- ノードがnullでない場合、 l:=新しいセット temp:=ノード tempの値をlに挿入 next of tempがnullでない場合は、 tempのnextの値がlにない場合、 次のtempの値をlに挿入 temp:=次のtemp それ以外の場合、 次の臨時雇用者:=次の臨時雇用者 リターンノード 理解を深めるために

  15. Pythonで文字列を正しくするために削除される最小の無効な括弧をカウントするプログラム

    括弧の文字列があるとします。文字列を正しくするために削除する括弧の最小数を計算する関数を作成する必要があります(開いている各括弧は最終的に閉じられます)。 したがって、入力が「(()))(」の場合、出力は2になります。正しい文字列は「(())」なので、「)(」を削除します。 これを解決するには、次の手順に従います- 合計:=0、温度:=0 sの各pについて、 pが(と同じ場合、 合計:=合計+ 1 それ以外の場合、pが )と同じで、合計が0でない場合、 合計:=合計-1 それ以外の場合、 temp:=temp + 1 合計+温度を返す 理解を深めるために

  16. Pythonで連続する重複文字を削除した後に文字列を検索するプログラム

    文字列sがあるとすると、最初の連続する重複文字を繰り返し削除します。最後の文字列を見つける必要があります。 したがって、入力がs =xyyyxxzの場合、「yyy」は削除される最初の連続する重複文字であるため、出力は「z」になります。つまり、「xxxz」があります。その後、「xxx」が削除され、「z」になります。 これを解決するには、次の手順に従います- スタック:=新しいスタック i:=0 i

  17. Pythonでリンクリストを逆にするプログラム

    2になります。 これを解決するために、このアプローチに従います- solve(head、back)のように再帰的にリストの反転を実行する1つの手順を定義します 頭がない場合は、頭を戻します temp:=head.next head.next:=back 戻る:=頭 温度が空の場合は、ヘッドを戻します head:=temp returnsolve(頭、後ろ) 理解を深めるために、次の実装を見てみましょう- 例 class ListNode:    def __init__(self, data, next = None):     &

  18. Pythonで有向グラフを反転するプログラム

    有向グラフがあるとすると、その逆を見つける必要があるため、エッジがuからvに移動すると、vからuに移動します。ここで入力は隣接リストになり、ノードがn個ある場合、ノードは(0、1、...、n-1)になります。 したがって、入力が次のような場合 その場合、出力は次のようになります これを解決するには、次の手順に従います- ans:=n個の異なるリストのリスト。nは頂点の数です 各インデックスi、およびグラフ内の隣接リストlについて、実行します lのxごとに、 ans [x]の最後にiを挿入します 回答を返す 理解を深めるために、次の実装を見てみましょう- 例

  19. Pythonでサイズkのグループによってリンクリストを逆にするプログラム

    単一リンクリストがあり、別の値kがあるとすると、ノードのk個の連続するグループごとに逆にする必要があります。 したがって、入力がList =[1,2,3,4,5,6,7,8,9,10]、k =3の場合、出力は[3、2、1、6、5 、4、9、8、7、10、] これを解決するには、次の手順に従います- tmp:=値が0の新しいノード tmpの次:=ノード prev:=null、curr:=null lp:=temp、lc:=curr cnt:=k currがnullでない場合は、 prev:=null 0でcurrがnullでない場合は、 次の:=次のcurr 次

  20. Pythonでの救助に必要なロケット船の最小数を見つけるためのプログラム

    重量と呼ばれる数値のリストがあり、これは人々の重量を表しており、値の制限によって1隻のロケット船の重量制限が決まるとします。現在、各ロケット船は最大2人で乗車できます。全員を惑星に救出するのに必要なロケット船の最小数を見つける必要があります。 したがって、入力が重み=[300、400、300]、制限=600のような場合、出力は2になります。これは、1つのロケット船でそれぞれ300の重みを持つ2人を乗せ、もう1つを乗せるためです。体重が400人の人。 これを解決するには、次の手順に従います- リストの重みを並べ替える cnt:=0 重みは空ではありませんが、実行してくださ

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