-
Pythonで最大2回株式を売買した後に最大の利益を見つけるプログラム
価格と呼ばれる数値のリストがあり、それが会社の株価を時系列で表しているとすると、その株式を最大2回売買することで得られる最大の利益を見つける必要があります。最初に購入してから販売する必要があります。 したがって、入力がprices =[2、6、3、4、2、9]の場合、出力は11になります。これは、価格2で購入し、次に6で販売し、再び2で購入して販売できるためです。 9時。 これを解決するには、次の手順に従います- first_buy:=-inf、first_sell:=-inf second_buy:=-inf、second_sell:=-inf 価格のピクセルごとに、 fir
-
Pythonで最大kステップで最終インデックスに到達するための最小コストを見つけるプログラム
数値numsと別の値kのリストがあるとします。ここで、nums [i]の項目は、インデックスiに着陸するためのコストを表しています。インデックス0から開始し、numsの最後のインデックスで終了する場合。各ステップで、ある位置Xから最大kステップ離れた任意の位置にジャンプできます。最後のインデックスに到達するためにコストの合計を最小化する必要があるので、最小の合計は何になりますか? したがって、入力がnums =[2、3、4、5、6] k =2のような場合、出力は12になります。これは、2 + 4+6を選択して最小コスト12を取得できるためです。 これを解決するには、次の手順に従います-
-
Pythonでk売買した後に私たちが稼ぐことができる最大の利益を見つけるためのプログラム
会社の株価を時系列で表すnumsという数値のリストがあり、別の値kもあるとすると、最大k個の売買から得られる最大の利益を見つける必要があります(購入する必要があります)。販売する前に、購入する前に販売する)。 したがって、入力がprices =[7、3、5、2、3] k =2のような場合、出力は3になります。これは、3で購入し、次に5で販売し、再び2で購入して販売できるためです。 3時。 これを解決するには、次の手順に従います- 関数dp()を定義します。これにはi、k、購入が必要です iが価格のサイズと同じであるか、kが0と同じである場合、 0を返す 購入したものが真の場合、 (
-
Pythonに組み込み関数を使用せずに1つの数式を評価するプログラム
(+、-、*、/)で数式を表す文字列があるとします。ここで、/は整数の除算を表します。組み込み関数を使用せずに結果を評価して返す必要があります。 したがって、入力がs =2 + 3 * 5/7の場合、出力は2 +((3 * 5)/ 7)=4として4になります。 これを解決するには、次の手順に従います- s:=指定された文字列を逆にします 関数get_value()を定義します。 記号:=1 sが空でなく、sの最後の要素が「-」と同じである場合、 sから最後の要素を削除する 記号:=-1 値:=0 sが空ではなく、sの最後の要素が数字である場合、 値:=値* 10 va
-
Pythonで最終目標に到達するために必要なバスの最小数を見つけるためのプログラム
各行に3つのフィールド[src、dest、id]が含まれるn x 3マトリックスがあるとします。これは、バスがsrcからdestへのルートを持っていることを意味します。新しいバスに乗るには1単位のお金がかかりますが、同じバスにとどまる場合は1単位だけ支払う必要があります。場所0から最終停留所(最大の場所)までバスに乗るのに必要な最小費用を見つける必要があります。解決策がない場合は-1を返します。 したがって、入力が次のような場合 0 1 0 1 2 0 2 3 0 3 5 1 5 0
-
Pythonで行列の空のセルを選択できる方法がいくつあるかを確認するプログラム
N x Nのバイナリ行列があり、0は空のセル、1はブロックされたセルであるとすると、すべての行とすべての列に少なくとも1つの選択されたセルがあるように、N個の空のセルを選択する方法の数を見つける必要があります。答えが非常に大きい場合は、結果mod 10 ^ 9 + 7を返します。 したがって、入力が次のような場合 0 0 0 0 0 0 0 1 0 次の構成があるため、出力は4になります(xは選択されたセルです)- これを解決するには、次の手順に従います- n:=行列のサイズ 関数f()を定義します。これ
-
Pythonで最長の循環増加部分列の長さを見つけるプログラム
numsと呼ばれる数値のリストがあり、最も長く増加するサブシーケンスの長さを見つける必要があり、サブシーケンスがリストの先頭に折り返される可能性があると想定しています。 したがって、入力がnums =[6、5、8、2、3、4]の場合、最長増加部分列は[2、3、4、6、8]であるため、出力は5になります。 これを解決するには、次の手順に従います- a:=numsの2倍のサイズのリストを作成し、numsを2回入力します ans:=0 0からnumsのサイズの範囲のiの場合は、 dp:=新しいリスト 範囲iからnums+i-1のサイズのjの場合、do n:=a [j] k:=
-
与えられたポリゴンの内側または境界にある与えられた点をチェックするか、Pythonではないかをチェックするプログラム
ポリゴンを表すデカルト点[(x1、y1)、(x2、y2)、...、(xn、yn)]のリストがあり、xとyの2つの値があるとします。 (x、y)がこのポリゴンの内側にあるのか、境界上にあるのかを確認してください。 したがって、入力がpoints =[(0、0)、(1、3)、(4、4)、(6、2)、(4、0)] pt =(3、1) その場合、出力はTrueになります これを解決するには、次の手順に従います- ans:=False 0からポリゴンのサイズ-1までの範囲のiの場合、実行します (x0、y0):=ポリゴン[i] (x1、y1):=ポリゴン[(i + 1)ポリゴンのm
-
Pythonで合計kまでのサブセットをカウントするプログラム
numsと呼ばれる数値のリストと別の値kがあるとすると、リスト内で合計kになるサブセットの数を見つける必要があります。答えが非常に大きい場合は、これを10 ^ 9 + 7で変更します。 したがって、入力がnums =[2、3、4、5、7] k =7のような場合、サブセット[2,5]、[3,4]、および[を選択できるため、出力は3になります。 7]。 これを解決するには、次の手順に従います- dp:=サイズ(k + 1)のリストで、0で埋めます dp [0]:=1 m:=10 ^ 9 + 7 範囲0からnums-1のサイズのiの場合、do kから0までの範囲のjの場合、1ずつ
-
Pythonですべての都市の可能な最大人口を見つけるためのプログラム
N個のノードとN-1個のエッジを持つツリーとして表される国を考えてみます。これで、各ノードは町を表し、各エッジは道路を表します。サイズN-1のソースと宛先の番号の2つのリストがあります。彼らによると、i番目の道路はsource[i]とdest[i]を接続しています。そして、道路は双方向です。サイズNの人口と呼ばれる別の数のリストもあります。ここで、population[i]はi番目の町の人口を表します。いくつかの町を都市にアップグレードしようとしています。ただし、2つの都市が互いに隣接していてはならず、町に隣接するすべてのノードが都市である必要があります(すべての道路が町と都市を接続している必
-
Pythonで最大k文字を削除した後に回文が形成されるかどうかをチェックするプログラム
文字列sがあるとすると、最大k文字を削除した後、この文字列を回文にすることができるかどうかを確認する必要があります。 したがって、入力がs =lieuvrel、k =4の場合、出力はTrueになり、3文字を削除して、回文の「レベル」を取得できます。 これを解決するには、次の手順に従います- 関数lcs()を定義します。これにはa、bが必要です m:=aのサイズ、n:=bのサイズ table:=サイズ(m + 1)x(n + 1)の行列で、0で埋めます 1からmの範囲のiについては、 1からnの範囲のjについては、 a[i-1]がb[j-1]と同じ場合、 table [i、j]
-
Pythonで行列をk個にカットできる方法の数を数えるプログラム
バイナリ行列と別の値kがあるとします。行列をk個の部分に分割して、各部分に少なくとも1つの1が含まれるようにします。ただし、カットにはいくつかのルールがあります。順番に従う必要があります。1.方向を選択します:垂直または水平2.マトリックス内のインデックスを選択して2つのセクションにカットします。 3.縦に切ると、左の部分はカットできなくなり、右の部分しかカットできなくなります。 4.水平にカットすると、上部をカットできなくなり、下部のみをカットし続けることができます。したがって、マトリックスを分割するためのさまざまな方法を見つける必要があります。答えが非常に大きい場合は、結果mod(10 ^
-
マトリックス内のいくつかの要素をチェックするプログラムは、Pythonでサイクルを形成するかどうか
2次元行列があるとします。あるセルから開始して、同じ値の隣接するセル(上、下、左、右)を移動し、同じ開始点に戻ることができるかどうかを確認する必要があります。最後に訪れたセルを再訪することはできません。 したがって、入力が次のような場合 2 2 2 1 2 1 2 1 2 2 2 1 2秒後にサイクルを形成できるため、出力はTrueになります。 これを解決するには、次の手順に従います- R:=行列の行数 C:=行列の列数 vis:=サイズR x Cの行列を作成し、Falseで埋めます 関数
-
Pythonで特定の条件で処理されるリクエストの数をチェックするプログラム
各リストに[uid、time_sec]などの要素が含まれているリクエストのリストがあるとします(uidはユーザーID、time_secはタイムスタンプです)。これは、IDがuidのユーザーがタイムスタンプtime_secにWebサイトに要求したことを示します。また、2つの値uとgがあります。ここで、uは、特定のuidに対して60秒未満のフレームで許可されるリクエストの最大数を示し、gは、60秒未満のフレームでグローバルに許可されるリクエストの最大数です。ここで、各リクエストを1つずつ処理し、レート制限する場合。また、複数のユーザーから同時にリクエストがあった場合は、uidの低いリクエストが最初
-
Numpyを使用し、Pythonでインデックス値を明示的に渡すことでシリーズを作成するにはどうすればよいですか?
Numpy配列を使用して一連のデータ構造を作成し、「インデックス」の値を明示的に指定する方法を見てみましょう。 インデックスに値が指定されていない場合、0から始まるデフォルト値がシリーズの値に割り当てられます。 以下は例です- 例 import pandas as pd import numpy as np my_data = np.array(['ab','bc','cd','de', 'ef', 'fg','gh', 'hi']) my_index = [3,
-
Seabornライブラリを使用してPythonで散布図を表示するにはどうすればよいですか?
データの視覚化は、実際に数値を調べたり複雑な計算を実行したりすることなく、データで何が起こっているのかを理解するのに役立つため、重要なステップです。 Seabornは、データの視覚化に役立つライブラリです。 散布図は、グラフ上に分散/分散されたデータポイントとしてデータの分布を示します。ドットを使用して、データセットの値を表します。データセットは本質的に数値です。横軸と縦軸のすべてのドットの位置は、単一のデータポイントの値を示します。 これらは、2つの変数間の関係を理解するのに役立ちます。 PythonでSeabornライブラリを使用してこれを実現する方法を理解しましょう- 例 impor
-
スカラー/定数値を使用してPythonの系列データ構造を作成する方法を説明してください。
スカラー値または定数値は一度定義され、系列データ構造のすべての行/エントリにわたって繰り返されます。以下は例です- 例 import pandas as pd my_index = ['ab', 'mn' ,'gh','kl'] my_series = pd.Series(7, index = my_index) print("This is series data structure created using scalar values and specifying index values") print
-
Pythonでインデックス値(カスタマイズされている場合とされていない場合があります)を使用して一連の要素にアクセスするにはどうすればよいですか?
Seriesのインデックス値としてデフォルト値が使用されている場合は、インデックスを使用してアクセスできます。インデックス値がカスタマイズされている場合、それらはインデックス値として渡され、コンソールに表示されます。 例を使って理解しましょう。 例 import pandas as pd my_data = [34, 56, 78, 90, 123, 45] my_index = ['ab', 'mn' ,'gh','kl', 'wq', 'az'] my_series = pd.Series(m
-
インデックスがカスタマイズされたPythonの場合、シリーズから複数の要素を取得するにはどうすればよいですか?
インデックス値をカスタマイズする場合は、 series_name [‘index_value’]を使用してアクセスします。 。 「index_value」 シリーズに渡されたものは、元のシリーズと一致するように試みられます。見つかった場合は、対応するデータもコンソールに表示されます。 複数の要素を表示する方法を見てみましょう。 例 import pandas as pd my_data = [34, 56, 78, 90, 123, 45] my_index = ['ab', 'mn' ,'gh','kl', 'wq&
-
指定されたインデックスがPythonPandasシリーズに存在しない場合はどうなりますか?
インデックス値をカスタマイズする場合は、 series_name [‘index_value’]を使用してアクセスします。 。 「index_value」 シリーズに渡されたものは、元のシリーズと一致するように試みられます。見つかった場合は、対応するデータもコンソールに表示されます。 アクセスしようとしているインデックスがシリーズに存在しない場合、エラーがスローされます。以下に示します。 例 import pandas as pd my_data = [34, 56, 78, 90, 123, 45] my_index = ['ab', 'mn' ,'