-
Pythonで最も近い左と右の小さい要素間の最大の違いを見つける
整数の配列があるとします。配列内の各要素の最も近い左と右の小さい要素間の最大絶対差を見つける必要があります。要素の右側または左側に小さい要素がない場合は、小さい要素としてゼロを設定します。 したがって、入力がA =[3、5、9、8、8、10、4]の場合、出力は左側の要素として4になりますL =[0、3、5、5、5、8、3 ]、右要素R =[0、4、8、4、4、4、0]、最大絶対差L [i]-R [i] =8-4 =4 これを解決するには、次の手順に従います- 関数left_small_element()を定義します。これにはA、tempが必要です n:=Aのサイズ スタ
-
Pythonで任意の都市と駅の間の最大距離を見つける
N個の都市があり、それらに0からN-1までの番号が付けられており、駅が配置されている都市もあるとすると、任意の都市間の最大距離を見つける必要があります。市とその最寄りの駅。駅のある都市は任意の順序で指定できることに注意する必要があります。 したがって、入力がN =6、ステーション=[2,4]の場合、出力は2になります。 これを解決するには、次の手順に従います- station_present:=サイズNのリスト、Falseで埋める 駅の各都市について、実行します station_present [city]:=True dist:=0、maximum_dist
-
Pythonで最大長のスネークシーケンスを見つける
数字のグリッドがあるとします。ヘビのシーケンスを見つけて返す必要があります。複数のスネークシーケンスがある場合は、1つだけを返します。スネークシーケンスはグリッド内の隣接する数字を使用して作成されることがわかっているため、各数字について、右側の数字またはその下の数字は+1または-1の値になります。したがって、現在の値がグリッドセル(a、b)にある場合、その数値が±1の場合は右(a、b + 1)に移動でき、その数値が±1の場合は下(a + 1、b)に移動できます。 したがって、入力が次のような場合 10 7 6 3 9 8 7 6 8 4
-
Pythonで最初のN個の自然数の2乗の合計がX以下になるように最大Nを見つけます
与えられた整数Xがあるとすると、最初のN個の自然数の合計が値Xを超えないように、最大値Nを見つける必要があります。 したがって、入力がX =7の場合、2はNの可能な最大値であるため、出力は2になります。N=3の場合、級数の合計はX =7を超えます。したがって、1 ^ 2 + 2 ^ 2 + 3 ^ 2 =1 + 4 +9=14。 これを解決するには、次の手順に従います- 関数sum_of_squares()を定義します。これにはNがかかります res:=(N *(N + 1)*(2 * N + 1))/ 6 解像度を返す メインの方法から、次のようにします-
-
PythonでNを1に減らす最大の操作を見つける
2つの数PとQがあり、それらが数N =(P!/ Q!)を形成するとします。可能な最大数の操作を実行して、Nを1に減らす必要があります。各操作で、NがXで割り切れる場合、NをN/Xに置き換えることができます。可能な最大数の操作を返します。 したがって、入力がA =7、B =4の場合、Nは210、除数は2、3、5、7であるため、出力は4になります。 これを解決するには、次の手順に従います- N:=1000005 因数:=サイズNの配列で、0で埋める メインの方法から、次のようにします- 2からNの範囲のiの場合、実行します factor [i]が0と同じ場合、
-
Pythonで配列から要素を削除することで取得できる最大ポイントを見つける
N個の要素を持つ配列Aがあるとすると、2つの整数lとrもあります。ここで、1≤ax≤10^5および1≤l≤r≤Nです。要素を取得します。配列からaxと言って削除し、さらにax + 1、ax+2…ax+Rおよびax-1、ax-2…ax-Lに等しいすべての要素をその配列から削除します。これを行うことにより、それは斧ポイントを要します。アレイからすべての要素を削除した後、総コストを最大化する必要があります。 したがって、入力がA =[2,4,3,10,5]、l =1、r =2の場合、出力は18になります。 これを解決するには、次の手順に従います- n:=配列のサイズ max_val:
-
Pythonでi<j<kおよびa[i]<a [j]<a[k]などの配列内のトリプレットの最大合計を求めます
正の数の配列があり、その配列にn個の要素があるとすると、0 <=i <となるようなトリプレット(ai + aj + ak)の最大合計を見つける必要があります。 j
-
PythonでO(n)時間とO(1)空間でBSTの中央値を見つける
二分探索木(BST)があるとすると、その中央値を見つける必要があります。偶数のノードの場合、中央値=((n / 2番目のノード+(n + 1)/ 2番目のノード)/ 2奇数のノードの場合、中央値=(n + 1)/2番目のノードです。 したがって、入力が次のような場合 その場合、出力は7になります これを解決するには、次の手順に従います- rootがNoneと同じ場合、 0を返す node_count:=ツリー内のノードの数 count_curr:=0 現在:=ルート currentがnullでない場合は、実行してください curren
-
Pythonで配列の最小調整コストを見つける
正の数の配列があるとします。その配列配列の各要素を置き換えて、配列内の2つの隣接する要素間の差が、指定されたターゲット以下になるようにします。ここで、調整コストを最小限に抑える必要があるため、新しい値と古い値の差の合計になります。より正確には、∑ | A [i] – Anew[i]|を最小化します。ここで、iは0からn-1の範囲で、ここでnはAのサイズとして示され、Anewは隣接する差がターゲット以下の配列です。 したがって、入力が[56、78、53、62、40、7、26、61、50、48]、ターゲット=20の場合、出力は25になります これを解決するには、次の手順に従います- n:
-
Pythonで指定された制約を使用してすべてのジョブを完了するための最小時間を見つける
さまざまな時間要件を持つ一連のジョブがあり、ジョブを割り当てる人がk人いて、担当者が1つのジョブユニットを実行するのにかかる時間もあるとします。次の制約ですべてのジョブを完了するための最小時間を見つける必要があります。 担当者には、連続するジョブのみを割り当てることができます。 2人の担当者が1つのジョブを共有または実行することはできません。 したがって、入力がk =4、t =5、job ={12、6、9、15、5、9}の場合、今回は[12]、[6]を割り当てると、出力は75になります。 、9]、[15]および[5、9] これを解決するには、次の手順に従います- 関
-
Pythonで連続番号のソートされた配列から欠落している要素を見つける
n個の一意の番号の配列Aがあり、これらのn個の要素は昇順で配列に存在しますが、欠落している要素が1つあるとします。不足している要素を見つける必要があります。 したがって、入力がA =[1、2、3、4、5、6、7、9]の場合、出力は8になります。 これを解決するには、次の手順に従います- n:=Aのサイズ 左:=0 右:=n-1 mid:=0 左、実行 中央:=左+(右-左)/ 2 A[mid]-midがA[0]と同じ場合、 1の場合、 A [mid] + 1を返します それ以外の場合 左:=半ば+ 1
-
Pythonでビット単位のOrがKに等しいN個の異なる数を検索します
2つの整数NとKがあるとします。ビット単位のORがKと同じN個の一意の値を見つける必要があります。そのような結果がない場合は、-1を返します したがって、入力がN=4およびK=6の場合、出力は[6,0,1,2]になります。 これを解決するには、次の手順に従います- MAX:=32 訪問:=サイズMAXのリストとFalseで埋める res:=新しいリスト 関数add()を定義します。これにはnumがかかります ポイント:=0 値:=0 0からMAXの範囲のiの場合、実行 visited [i]がゼロ以外の場合、 次のイテレーションに行
-
Pythonで文字列のn番目の辞書式順列を検索する
長さがmの文字列があり、この文字列に小文字のみが含まれているとすると、辞書式順序で文字列のn番目の順列を見つける必要があります。 したがって、入力がstring =pqr、n =3の場合、すべての順列が[pqr、prq、qpr、qrp、rpq、rqp]であるため、出力は qprになり、並べ替えられた順序になります。 これを解決するには、次の手順に従います- MAX_CHAR:=26 MAX_FACT:=20 階乗:=サイズMAX_FACTの配列 階乗[0]:=1 1からMAX_FACTの範囲のiの場合、実行 factorials [i]:=fact
-
Pythonで特定の漸化式のn番目の項を検索します
bnと呼ばれる数列があるとすると、これはb1=1やbn+1 / bn=2nのような漸化式を使用して表されます。与えられたnのlog2(bn)の値を見つける必要があります。 したがって、入力が6の場合、出力はlog2(bn)=(n *(n-1))/ 2 =(6 *(6-1))/ 2 =15として5になります。 この関係を次のように解くことで、この問題を解くことができます- b n + 1 / b n =2 n b n / b n-1 =2 n-1 … b 2 / b 1 =2 1 、上記のすべてを掛けると、次のようになります (b n +
-
Pythonのすべてのペアのgcd()から元の番号を検索します
別の配列の要素の可能なすべてのペアのGCDが与えられている配列Aがあるとすると、与えられたGCD配列の計算に使用される元の数値を見つける必要があります。 したがって、入力がA =[6、1、1、13]の場合、gcd(13、13)は13、gcd(13、6)は1、gcd( 6、13)は1、gcd(6、6)は6 これを解決するには、次の手順に従います- n:=Aのサイズ 配列Aを降順で並べ替えます オカレンス:=サイズA[0]の配列で0で埋める 0からnの範囲のiの場合、実行 オカレンス[A[i]]:=オカレンス[A [i]] + 1 サイズ:=nの平方
-
Pythonのソートされた二重リンクリストで特定の製品とのペアを検索します
一意の正の数のソートされた二重リンクリストがあるとします。二重にリンクされたリストで、指定された値xと同じ積を持つペアを見つける必要があります。これは余分なスペースを消費することなく解決されることを覚えておく必要があります。 したがって、入力がL =1⇔2⇔4⇔5⇔6⇔8⇔9で、x =8の場合、出力は(1、8)、(2、4)になります。 これを解決するには、次の手順に従います- curr:=ヘッド、nxt:=ヘッド nxt.nextはNoneではなく、ゼロ以外ですが、実行してください nxt:=nxt.next 見つかった:=False currとnxt
-
Pythonプログラムで最大積と合計がN-Set-2に等しいNの4つの因子を見つけます
数Nがあるとすると、Nのすべての因子を見つけて、次のようにNの4つの因子の積を返す必要があります。4つの因子の合計はNと同じです。4つの因子の積は最大です。製品を最大化するために、4つの要素すべてを互いに等しくすることができます。 1 2 3 4 5 6 10 12 15 20 30 60であり、製品は50625です。これは、製品を作成するために15が4回選択されているためです。最大。 これを解決するには、次の手順に従います- 要因:=新しいリスト 1から(nの平方根)+ 1の整数までの範囲のiの場合、do n mod iが0と同じ場合、 因子の最後にiを挿入しま
-
Pythontkinterボタンにスタイルを追加
Tkinterは、Pythonに基づくGUIプログラムの作成を強力にサポートしています。フォント、サイズ、色などに基づいて、Tkinterキャンバス上のボタンのスタイルを設定するさまざまな方法を提供します。この記事では、キャンバス上の特定のボタンまたは一般的なすべてのボタンにスタイルを適用する方法を説明します。 特定のボタンに適用する キャンバスに2つのボタンがあり、最初のボタンにのみスタイルを適用したい場合を考えてみましょう。構成の一部として、フォントと前景色とともにW.TButtonを使用します。 例 from tkinter import * from tkinter.ttk impo
-
Pythonでの引数の解析
すべてのプログラミング言語には、スクリプトを作成して端末から実行したり、他のプログラムから呼び出されたりする機能があります。このようなスクリプトを実行する場合、スクリプト内でさまざまな関数を実行するために、スクリプトに必要な引数を渡す必要があることがよくあります。この記事では、Pythonスクリプトに引数を渡すさまざまな方法を説明します。 sys.argvの使用 これは組み込みモジュールです。sys.argvは、スクリプトで渡される引数を処理できます。デフォルトでは、sys.argv[0]で考慮される最初の引数はファイル名です。残りの引数には、1、2などのインデックスが付けられます。次の例で
-
PythonTkinterのプログレスバーウィジェット
プログレスバーは、特定のタスクの進行状況を表示するために使用される一般的なGUI要素です。この記事では、PythontkinterGUIライブラリを使用してプログレスバーを作成する方法を説明します。 以下のプログラムでは、tkinter.ttkモジュールのプログレスバーサブモジュールをインポートしました。次に、スタイルオブジェクトを使用してスタイルオプションを作成し、ボタンの長さの値と進行状況の値を指定します。 例 import tkinter as tk from tkinter.ttk import Progressbar from tkinter import ttk canv = t