Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. Pythonのジグザグラベル付き二分木のパス

    すべてのノードに2つの子がある無限の二分木で、ノードに行順にラベルが付けられているとします。奇数行(1、3、5、...)では、ラベル付けは左から右になり、偶数行(2、4、6、...)では、ラベル付けは右から左になります。 。したがって、ツリーは次のようになります- したがって、このツリーでノードのラベルを付けたので、ツリーのルートからそのラベルの付いたノードまでのパスでラベルを見つける必要があります。したがって、入力がlabel =14の場合、出力は[1,3,4,14]になります。 これを解決するには、次の手順に従います- 2つの配列ツリーと解像度を定義し、ツリー配列に0と1を

  2. Pythonの最大平均サブツリー

    二分木のルートがあるとします。そのツリーのサブツリーの最大平均値を見つける必要があります。したがって、ツリーが次のような場合- 出力は6になります。これは、ノード5の場合は(5 + 6 + 1)/ 3 =4になり、ノード6の場合は6/1 =6になり、ノード1の場合は次のようになるためです。 1/1 =1なので、最大は6です。 これを解決するには、次の手順に従います- res:=0 Solve()というメソッドを定義します。これはルートになります ルートが設定されていない場合は、ペア[0、0]を返します。 左:=ソルブ(ルートの左)右:=ソルブ(ルートの右)

  3. Pythonで最も深い葉の最も低い共通の祖先

    ルート化された二分木があるとすると、最も深い葉の最も低い共通の祖先を返す必要があります。そのことを覚えておく必要があります- 二分木のノードは、子がない場合にのみリーフノードになります ツリーのルートの深さは0であり、ノードの深さがdの場合、その各子の深さはd+1です。 SのすべてのノードがルートAのサブツリーにあるように、最大​​の深さを持つノードAのノードのセットSの最小の共通祖先。 入力が[1,2,3,4,5]の場合、 その場合、出力は[2,4,5]になります。 これを解決するには、次の手順に従います- solve()と呼ばれるメソッドを定義します

  4. Pythonで色が交互になる最短経路

    0、1、...、n-1というラベルの付いたノードを持つ有向グラフがあるとします。このグラフでは、各エッジが赤または青の色で色付けされており、自己エッジまたは平行エッジが存在する可能性があります。 red_edgesの各[i、j]は、ノードiからノードjへの赤い有向エッジを示します。同様に、blue_edgesの各[i、j]は、ノードiからノードjへの青い有向エッジを示します。長さnの配列回答を見つける必要があります。ここで、各answer [X]は、ノード0からノードXまでの最短パスの長さであり、エッジの色がパスに沿って交互になります(パスがそうでない場合は-1)。存在します。 したがって、

  5. Pythonで最小コストで都市を接続する

    1からNまでの番号が付けられたN個の都市があるとします。接続があります。各接続[i]は[city1、city2、cost]で、これはcity1とcity2を接続するためのコストを表します。 。都市のすべてのペアに対して、これら2つの都市を接続する接続パス(おそらく長さ1)が存在するように、最小コストを見つける必要があります。コストは、使用された接続コストの合計です。タスクが不可能な場合は、-1を返します。 したがって、グラフが次のような場合- その場合、出力は6になります。任意の2つの都市を選択すると、すべての都市が接続されるため、最小の2、[1、5]を選択します。 これを解決する

  6. 要素を減らしてPythonで配列をジグザグにする

    整数の配列numsがあるとすると、移動操作は実際に任意の要素を選択し、それを1ずつ減らします。1または2のいずれかが満たされる場合、配列Aはジグザグ配列です- A [1] A [3] ...など。 すべての奇数インデックスの要素は、隣接する要素よりも大きいので、そうです。 A [0] A [2] A[4]<...など。 与えられた配列番号をジグザグ配列に変換するための最小移動数を見つける必要があります。 したがって、配列が[1,2,3]のような場合、出力は2になります。これは、2を0または3を1に減らすことができるためです。 これを解決するには、次の手順に従います-

  7. Pythonの二分木ぬりえゲーム

    二分木でターン制のゲームをプレイする2人のプレーヤーがいるとします。この二分木のルートとツリー内のノード数nがあります。ここで、nは奇数であり、各ノードには1からnまでの異なる値があります。最初に、最初のプレーヤーは値xに1 <=x <=nの名前を付け、2番目のプレーヤーは値yに1 <=y <=nの名前を付け、y!=xのような条件を保持します。最初のプレーヤーはノードを値xの赤で色付けし、2番目のプレーヤーはノードを値yの青で色付けします。その後、プレイヤーは最初のプレイヤーから順番に順番に進みます。各ターンで、プレーヤーは自分の色のノード(プレーヤー1の場合は赤、プレーヤー2の場合は青)を取

  8. Pythonのスナップショット配列

    次のインターフェイスをサポートするSnapshotArrayを実装する必要があるとします- SnapshotArray(int length)これにより、指定された長さで配列のようなデータ構造が初期化されます。最初は、各要素は0に等しくなります。 set(index、val)これにより、指定されたインデックスの要素がvalと等しくなるように設定されます。 snap()は配列のスナップショットを取得し、snap_idを返します。snap()を呼び出した合計回数から1を引いたものです。 get(index、snap_id)これは、指定されたsnap_idでスナップショットを

  9. Pythonですべての1をグループ化するための最小スワップ

    バイナリ配列データがあるとすると、配列に格納されているすべての1を配列内の任意の場所にグループ化するために必要なスワップの最小数を見つける必要があります。したがって、配列が[1,0,1,0,1,0,0,1,1,0,1]のような場合、可能な解決策は[0,0,0,0、 0,1,1,1,1,1,1] これを解決するには、次の手順に従います- 1つ設定:=0、n:=データ配列の長さ サイズnの配列の合計を作成し、これを0で埋め、summ [0]:=data [0]を設定します。 one:=one + data [0] 1からn–1の範囲のiの場合 summ [i]:=summ [i-1]

  10. Pythonのターゲット合計を持つダイスロールの数

    d個のサイコロがあり、各サイコロに1、2、...、fの番号が付けられたf個の面があるとします。サイコロを振るには、10 ^ 9 + 7を法として(fdの合計ウェイのうち)可能なウェイの数を見つけて、表向きの数字の合計がターゲットと等しくなるようにする必要があります。したがって、入力がd =2、f =6、target =7の場合、出力は6になります。したがって、6つの面を持つ各サイコロを投げる場合、合計6を1+6として取得する6つの方法があります。 2 + 5、3 + 3、4 + 3、5 + 2、6+1。 これを解決するには、次の手順に従います- m:=1e9 + 7 次数dx(t +

  11. Pythonでファイルシステムを設計する

    これら2つの機能を提供するファイルシステムを設計する必要があるとします- createPath(path、value)-これにより、新しいパスが作成され、可能であればそれに値が関連付けられ、Trueが返されます。パスがすでに存在する場合、またはその親パスが存在しない場合は、Falseを返します。 get(path)-これは、パスに関連付けられている値を検索するか、パスが存在しない場合は-1を返します。 パスの形式は、-(スラッシュ)/の後に続く1つ以上の小文字の英字の形式の1つ以上の連結文字列です。たとえば、/programmingと/programming / problemsは有

  12. Pythonの部分文字列から回文を作成できます

    文字列sがあるとすると、sの部分文字列に対してクエリを実行する必要があります。クエリクエリ[i]ごとに、3つの部分[左、右、k]があり、部分文字列s [左]、...、s [右]を再配置して、それらのうち最大k個を選択して置換することができます。小文字の英字。上記の操作の後でサブストリングが回文である可能性がある場合、クエリの結果はtrueです。それ以外の場合はfalse。配列answer[]を見つける必要があります。ここで、answer[i]はi番目のクエリクエリ[i]の結果です。 たとえば、入力が「abcda」の場合、クエリは[[3,3,0]、[1,2,0]、[0,3,1]、[0,3,2]

  13. Pythonで単語を垂直に印刷する

    文字列sがあるとします。すべての単語を、sに表示されるのと同じ順序で垂直方向に検索する必要があります。ここでは、単語が文字列のリストとして返されます。必要に応じてスペースを入力する必要があります。 (トレーリングスペースは許可されていません)。各単語は1つの列にのみ配置され、1つの列には1つの単語のみが配置されます。したがって、入力文字列が「HOW ARE YOU」の場合、出力は[HAY、 ORO、 WEU]になります。 これを解決するには、次の手順に従います- s:=スペースで分割された文字列のリストを作成し、1つの空の配列xを作成し、行を0に設定します sの各単語Iについて、

  14. Pythonの単一番号II

    空でない整数の配列があるとすると、1つだけを除いて、すべての要素が3回表示されます。単一の要素を見つける必要があります。したがって、配列が[2,2,3,2]の場合、出力は3になります。 これを解決するには、次の手順に従います- 配列から要素の絶対値を取得して最大数を見つけ、それをmax_numに格納します max_bits:=(log max_num base 2)+2の整数 list1:=サイズがmax_bitsで、要素が0の空のリスト numsの各numに対して- pos:=0 numが0ではなく、pos

  15. PythonでIPアドレスを検証する

    文字列があるとします。指定された入力が有効なIPv4アドレスかIPv6アドレスか、またはどちらでもないかどうかを確認する必要があります。 IPv4アドレスは、ドット付き10進表記で正規に表されます。ドット付き10進表記は、それぞれ0〜255の範囲で、ドット( 。)で区切られた4つの10進数で構成されます。たとえば、192.168.254.1。また、IPv4アドレスの先行ゼロは無効です。たとえば、アドレス192.168.254.01は無効です。 IPv6アドレスは、4桁の16進数の8つのグループとして表され、各グループは16ビットを表します。グループはコロン( :)で区切られます。たとえば、

  16. ==とPythonの演算子の違いを説明します。

    ==演算子 ==演算子は、オブジェクトの値が等しいかどうかをチェックして、オペランドを比較します。 は演算子です is演算子は、オブジェクトが同じであるかどうかをチェックすることにより、オペランドを比較します。 例 以下は、違いを紹介するPythonのプログラムです。 list1 = [1] list2 = [1] list3 = list1 print(id(list1)) print(id(list2)) if (list1 == list2):    print("True") else:    print("

  17. PythonとBashの違い

    Python Pythonは、実装が簡単で理解しやすいように設計されたプログラミング言語です。動的に型付けされた言語です。ポインタを使用していません。 バッシュ Bashはコマンドラインインタープリターであり、LinuxおよびMacOSオペレーティングシステムにデフォルトで出荷されます。他のオペレーティングシステムにもインストールできます。 LinuxおよびMacOSのデフォルトのユーザーシェルです。 以下は、PythonとBashの重要な違いの一部です。 Sr。いいえ。 キー Python バッシュ 1 タイプ Pythonは、主に自動化プログラミングで使用さ

  18. VeilFrameworkを使用してアンチウイルスをバイパスする

    この記事は、侵入テスト中に使用するために設計されたツールのコレクションであるため、Veilフレームワークを使用してアンチウイルス検出をバイパスする方法を示すことを目的としています。現在、次のモジュールで構成されています- ベール回避 −さまざまな技術と言語を使用してウイルス対策を回避するペイロードを生成するツール ベール-カタパルト −Veil-Evasionを統合するpsexecスタイルのペイロード配信システム ベール-PowerView −Windowsドメインのネットワーク状況認識を取得するためのPowerShellツール ベール-略奪 −Veil-Evasionを統合するモジュール式

  19. PythonでUnittestを使用したユニットテスト

    このチュートリアルでは、ユニットテストについて学習します。 ユニットテストを使用する 組み込みモジュール。テストは、ソフトウェア開発において主要な役割を果たします。プロダクション自体に進む前に、問題を知っているでしょう。 unittest と呼ばれる組み込みモジュールを使用して、Pythonでのテストの基本を学びます。 。チュートリアルに飛び込みましょう。 ユニットテストとは何ですか? 例としてログインシステムを取り上げます。ログインフォームの各フィールドは、ユニット/コンポーネントです。そして、それらのユニット/コンポーネントの機能をテストすることは、ユニットテストとして知られています

  20. Pythonプログラムを除いて試してみてください

    このチュートリアルでは、試してみるについて学習します。 および例外 Pythonの。 Pythonには、エラーおよび例外処理と呼ばれる概念があります。 キーワード試してください および例外 エラーおよび例外処理で使用されます。 基本的に、Pythonには2種類のエラーがあります。彼らは- 構文エラー --Pythonは、プログラム内のコード行を理解できない場合、これらのタイプのエラーを出します。 例外エラー -プログラムの実行中に検出されたエラー。例:-ZeroDivisionError、ValueErrorなど。 構文エラーを止めることはできません。ただし、try-e

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:137/450  20-コンピューター/Page Goto:1 131 132 133 134 135 136 137 138 139 140 141 142 143