-
Pythonのldexp()関数
この記事では、ldexp()関数の使用方法を説明します。これは数学ライブラリのメソッドの1つです。 関数ldexp(first、second)は、正または負の2つの有効な数値を取り、first *(2 ** second)の結果を返します。いくつかの例を見てみましょう。 例 #関数ldexpprint(math.ldexp(1、4))print(math.ldexp(5、-4))print(math.ldexp(-3、-1)) 上記のコードを実行すると、次の結果が得られます。 出力 16.00.3125-1.5 数値以外の引数をldexp関数に渡すと、エラーが発生します。例を見てみま
-
Pythonのリストで最後に出現した要素
この記事では、リスト内の要素の最後の出現を見つけるためのさまざまな方法を見ていきます。 与えられたリストを逆にして、要素の最後の出現を見つける方法を見てみましょう。以下の手順に従ってコードを記述してください。 リストを初期化します。 逆の方法を使用してリストを逆にします。 indexメソッドを使用して要素のインデックスを検索します。 要素の実際のインデックスはlen(list)--index-1です。 最終的なインデックスを印刷します。 例 コードを見てみましょう。 # initializing the list words = ['eat', 'sleep
-
Python-与えられた数のリストから可能な最大数
この記事では、与えられた数のリストから可能な最大数を見つける方法を学びます。問題を解決するための2つの異なる方法を見ていきます。以下の手順に従って問題を解決してください。 順列メソッドのitertoolsモジュールをインポートします。 番号と空のリストでリストを初期化します。 リストの順列を繰り返し処理します。 すべての組み合わせを結合し、結果を空のリストに追加します。 maxメソッドとキーをintとして使用して結果から最大数を見つけます。 文字列を整数に変換して出力します。 例 コードを見てみましょう。 # importing the module import itertools
-
Python-Unicodeリスト要素の結合
この記事では、Unicodeリスト要素を結合する方法を学習します。以下の手順に従ってコードを記述してください。 リストを初期化します。 mapメソッドとstring.encodeメソッドを使用して、すべての要素をUnicodeに変換します。 デコード方法を使用して、エンコードされた各文字列を変換します。 joinメソッドを使用して文字列を結合します。 結果を印刷します。 例 # initializing the list strings = ['Tutorialspoint', 'is a popular', 'site', 'fo
-
Python-リスト内の隣接する単語のみを結合する
この記事では、数字ではなく、リスト内の隣接する単語を結合する方法を学習します。以下の手順に従って問題を解決してください。 リストを初期化します。 isalphaメソッドを使用して数字ではない単語を検索します。 4joinメソッドを使用して単語を結合します。 isdigitメソッドを使用して数字を検索し、最後にすべての数字を追加します。 結果を印刷します。 例 # initialzing the list strings = ['Tutorials', '56', '45', 'point', '1',
-
Python-タプル要素をリストに結合する
この記事では、リスト内のタプル要素を結合する方法を学習します。これは、joinメソッドとmapメソッドを使用する簡単な方法です。以下の手順に従って、タスクを完了してください。 文字列を含むタプルでリストを初期化します。 タプルを引数として取り、文字列を返すjoin_tuple_stringという関数を記述します。 map(join_tuple_string、list)メソッドを使用してリスト内のタプルを結合します。 結果をリストに変換します。 結果を印刷します。 例 # initializing the list with tuples string_tuples = [('A&
-
Python-2つの文字列の共通部分
この記事では、2つの弦を異なる方法で交差させる方法を学びます。 以下の手順に従って問題を解決してください。 2つの文字列と空の文字列を初期化します。 最初の文字列を繰り返し処理し、現在の文字が2番目の文字列にも存在し、新しい文字列にまだ存在しない場合は、新しい文字列に追加します。 結果を印刷します。 例 # initializing the string string_1 = 'tutorialspoint' string_2 = 'tut' result = '' # finding the common chars from bot
-
Python-複数のリストの共通部分
この記事では、複数のリストを含む2つのリストをさまざまな方法で交差させる方法を説明します。従来の方法から始めましょう。 以下の手順に従って問題を解決してください 複数のリストで2つのリストを初期化する 最初のリストを繰り返し処理し、現在のアイテムが2番目のリストにもある場合は、新しいリストに追加します。 結果を印刷します。 例 # initializing the lists list_1 = [[1, 2], [3, 4], [5, 6]] list_2 = [[3, 4]] # finding the common items from both lists result = [s
-
Python-キーを介して2つの辞書を交差させる
この記事では、キーを使用して2つの辞書を交差させる方法を学習します。共通のキーを使用して新しい辞書を作成する必要があります。例を見てみましょう。 Input: dict_1 = {'A': 1, 'B': 2, 'C': 3} dict_2 = {'A': 1, 'C': 4, 'D': 5} Output: {'A': 1, 'C': 3} 問題を解決するために辞書理解を使用します。以下の手順に従ってコードを記述してください。 辞書を初期化します。 ディクショ
-
Python-順序を維持しながらソートされたリストにアイテムを挿入する
この記事では、順序を維持しながらソートされたリストにアイテムを挿入する方法を学習します。 Pythonには、リスト内の適切な位置に任意の要素を挿入するのに役立つbisectという組み込みモジュールがあります。 以下の手順に従ってコードを記述してください。 モジュールバイセクトをインポートします。 挿入する必要のあるリストと要素を初期化します モジュールbisectには、リストの適切な位置に要素を挿入するinsortというメソッドがあります。メソッドを使用して要素を挿入します。 リストを印刷します。 例 # importing the module import bisect # ini
-
Pythonでログストレージシステムを設計する
いくつかのログがあり、各ログに一意のIDとタイムスタンプが含まれているとします。タイムスタンプは、年:月:日:時:分:秒の形式の文字列です。たとえば、2019:01:01:23:59:59です。すべてのドメインはゼロが埋め込まれた10進数です。 次の機能を実装するログストレージシステムを設計する必要があります- void Put(int id、string timestamp):これは、ログの一意のIDとタイムスタンプを取得し、ログをストレージシステムに保存します。 int [] Retrieve(String start、String end、String Granularit
-
Pythonで都市のスカイラインを維持するための最大増加
gridという2次元配列があるとします。ここで、grid [i] [j]の各値は、そこにある建物の高さを表します。任意の数の建物の高さを任意の量だけ増やすことができます。高さ0も建物と見なされます。最後に、グリッドの4つの方向すべてから見たときの「スカイライン」は、元のグリッドのスカイラインと同じである必要があります。なぜなら、都市のスカイラインは、遠くから見たときにすべての建物によって形成される長方形の外側の輪郭だからです。したがって、建物の高さを増やすことができる最大の合計を見つける必要があります。 したがって、入力が次のような場合 3 0 8 4 2 4
-
PythonでBSTをシリアル化および逆シリアル化
二分探索木をシリアル化および逆シリアル化するアルゴリズムを設計するとします。シリアル化は、何か(データ構造またはオブジェクト)をビットのシーケンスに変換して、ファイルまたはメモリバッファーに格納したり、ネットワーク接続リンクを介して送信したりできるようにするプロセスです。これは、プロセスが逆シリアル化された後で再構築できます。 したがって、入力が[5,2,9,1,3,7]のような場合、出力はシリアル化された出力5.2.9.1.3.7.N.N.N.N.N.N.N逆シリアル化された出力になります:1、2、3、5、7、9 (順方向トラバーサル) これを解決するには、次の手順に従います-
-
PythonのCampusBikesII
キャンパスを表す2Dグリッドがあり、N人の労働者とM人の自転車があり、N <=Mの値であるとします。これで、各労働者と自転車はこのグリッド上で2D座標になります。したがって、各作業者と割り当てられた自転車との間のマンハッタン距離の合計が最小になるように、各作業者に1台の固有の自転車を割り当てたい場合。 2点p1とp2の間のマンハッタン距離は(p1、p2)=| p1.x--p2.x|であることがわかります。 + | p1.y--p2.y|。各作業員と割り当てられたバイクの間のマンハッタン距離の可能な最小合計を見つける必要があります。 したがって、入力がworkers =[[0,0]、[2,1
-
Pythonで各行要素を反転して最大合計を見つけるプログラム
2Dバイナリ行列があるとします。指定された行列の任意の行または列について、すべてのビットを反転できます。これらの操作をいくつでも実行でき、各行を2進数として扱う場合は、これらの数値で作成できる最大の合計を見つける必要があります。 したがって、入力が次のような場合 0 1 0 0 0 1 その場合、出力は11になり、両方の行を反転すると101と110が得られ、合計は5 + 6=11になります これを解決するには、次の手順に従います- 行列の各行rについて、次のようにします r [0]が0と同じ場合、 0からrのサイズの範囲のiについては、 r
-
Pythonの一連の友達接続で友達グループの数を見つけるプログラム
友達リストがあるとします。ここで、friends[i]は私が友達である人々のリストです。友情のつながりは双方向です。そして、それぞれの人は自分自身と友達であり、2人の人は、お互いをつなぐ相互の友達の道がある限り、友達グループに属します。友達グループの総数を見つける必要があります。 したがって、入力がfriends =[[0、1、5]、[1、0]、[2]、[3、4]、[4、3]、[5、0]]の場合、出力は3つの友達グループは以下のとおりです- これを解決するには、次の手順に従います- ノード:=友達のサイズ 訪問:=ノードと同じサイズのリストでFalseで埋める ans:=0 関
-
Pythonで最後のインデックスに到達するための最小ステップ数を見つけるプログラム
numsという番号のリストがあり、現在nums[0]に配置されているとします。各ステップで、現在のインデックスiからi+1またはi-1またはjにジャンプできます。ここでnums[i]==nums[j]です。最終的なインデックスに到達するために必要な最小ステップ数を見つける必要があります。 したがって、入力がnums =[4、8、8、5、4、6、5]の場合、値が両方とも4であるため、インデックス0からインデックス4にジャンプできるため、出力は3になります。次に、インデックス3に戻ります。最後に、両方の値が5であるため、インデックス3から6にジャンプできます。 これを解決するには、次の手順に従
-
Pythonでカット間隔と交差しない間隔を見つけるプログラム
ソートされてばらばらの間隔リストと、間隔を表す別のリストカットがあるとします。カット間隔と交差する間隔のすべての部分を削除し、新しいリストを返す必要があります。 したがって、入力がintervals =[[2、11]、[13、31]、[41、61]] cut =[8、46]のような場合、出力は[[2、8]、[46]になります。 、61]] これを解決するには、次の手順に従います- cut_start、cut_end:=cut ans:=新しいリスト 開始ごとに、間隔を置いて終了し、 cut_startとstartの最大値
-
Pythonの間隔のリストから合計一意の期間を見つけるプログラム
各リストが間隔[開始、終了](両端を含む)を表す間隔のリストがあるとします。それがカバーするユニークな期間の合計を見つける必要があります。 したがって、入力がintervals =[[2、11]、[13、31]、[41、61]]のような場合、一意のカバー距離の合計は(11-2 + 1)であるため、出力は50になります。 =10の場合、(31-13 + 1)=19および(61-41 + 1)=21なので、合計は50になります。 これを解決するには、次の手順に従います- 間隔リストが空の場合、 0を返す リスト間隔を並べ替える [開始、終了]:=間隔[0] ans:=0 間隔を置
-
重複する間隔を見つけてPythonで昇順で返すプログラム
閉じた区間のリストと別の区間のリストがあるとします。個別に、各リストは重複せず、降順ではありません。降順ではない順序で並べ替えられた2つの間隔の重複を見つける必要があります。 したがって、入力がinv1 =[[50、100]、[190、270]、[310、330]] inv2 =[[40、120]、[180、190]]の場合、出力は[ [50、100]、[190、190]] これを解決するには、次の手順に従います- ans:=新しいリスト i:=0、j:=0 i