Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. Pythonの順列から得られる最大合計を見つけるプログラム

    配列numsがあり、requests [i] =[start_i、end_i]であるrequestsという別の配列があるとします。これは、i番目の要求がnums [start_i] + nums [start_i + 1] +...+の合計を要求することを表します。 nums [end_i-1] +nums[end_i]。 numのすべての順列の中から、すべての要求の最大合計を見つける必要があります。答えは非常に大きい可能性があるため、10 ^ 9+7を法として返します。 したがって、入力がnums =[10,20,30,40,50]リクエスト=[[1,3]、[0,1]]の場合、出力は190

  2. Pythonで合計をPで割り切れるプログラム

    配列numsと別の値pがあるとすると、残りの値の合計がpで割り切れるように、最小のサブ配列(配列全体ではない)を削除します。削除する必要のある最小のサブ配列の長さを見つける必要があります。そのようなサブ配列がない場合は、-1を返します。 したがって、入力がnums =[8,2,6,5,3] p =7のような場合、出力は1になります。これは、3を削除すると、合計が21になり、7で割り切れるからです。 これを解決するには、次の手順に従います- ans:=無限大 s:=(numsのすべての要素の合計)mod p d:=マップにキーと値のペアが含まれている{0:-1} cum:=0

  3. 文字列をPythonで一意のサブ文字列の最大数に分割することを見つけるプログラム

    文字列sがあるとすると、指定された文字列を分割できる一意のサブ文字列の最大数を見つける必要があります。文字列を空でないサブ文字列の任意のリストに分割して、サブ文字列の連結が元の文字列を形成するようにすることができます。ただし、すべてが同じになるように部分文字列を分割する必要があります。 したがって、入力がs =pqpqrrrの場合、[p、q、pq、r、rr]のように分割できるため、出力は5になります。 [p、q、p、q、r、rr]のように分割すると、ここではpとqが複数回存在するため、無効になります。 これを解決するには、次の手順に従います- res:=1つの要素のみを含むリスト0 関

  4. Pythonの行列で最大の非負の積を見つけるプログラム

    次数mxnの行列があるとします。最初は左上隅のセル(0、0)にあり、各ステップで、マトリックス内で右または下にのみ移動できます。ここで、左上隅のセル(0、0)から右下隅のセル(m-1、n-1)までのすべての可能なパスの中から、負でない積が最大になるパスを見つける必要があります。答えが大きすぎる場合は、10 ^ 9+7を法とする最大の非負の積を返します。 したがって、入力が次のような場合 2 -4 2 2 -4 2 4 -8 2 パスが色付きであるため、出力は256になります。 2 -4 2 2 -4 2

  5. Pythonで行と列の合計を指定して有効な行列を見つけるプログラム

    負でない値を持つ2つの配列rowSumとcolSumがあるとします。ここで、rowSum [i]はi番目の行の要素の合計であり、colSum[j]は2D行列のj番目の列の要素の合計です。指定されたrowSum値とcolSum値を満たす、サイズの非負の値(rowSumサイズx colSumサイズ)を持つ行列を見つける必要があります。 したがって、入力がrowSum =[13,14,12] colSum =[9,13,17]の場合、出力はになります。 9 4 0 0 9 5 0 0 12 これを解決するには、次の手順に従います- ma

  6. Pythonで最大のネットワークランクを見つけるプログラム

    n個の都市があり、これらの都市を結ぶ道路がいくつかあるとします。各roads[i]=[u、v]は、都市uとvの間に双方向の道路があることを示します。ネットワークランクは、いずれかの都市に直接接続されている道路の総数であると考えてください。道路が両方の都市に直接接続されている場合、1回だけカウントされます。また、ネットワークの最大ネットワークランクは、異なる都市のすべてのペアの最大ネットワークランクです。したがって、道路が異なる場合は、ネットワーク全体の最大ネットワークランクを見つける必要があります。 したがって、入力が次のような場合 都市1と2を接続する方法は5つあるため、出力は5に

  7. Pythonでk個の重複しない線分のセットの数を見つけるプログラム

    線上にn個の点があり、i番目の点(0からn-1まで)が位置x =iにあるとすると、それぞれがセグメントは2つ以上のポイントをカバーします。各線分の端点は、整数の座標を持っている必要があります。 k線分は、指定されたn点すべてをカバーする必要はなく、端点を共有できます。答えが大きすぎる場合は、結果mod 10 ^ 9+7を返します。 したがって、入力がn =4 k =2の場合、5つの可能性を作成できるため、出力は5になります[(0から2)、(2から3)]、[(0から1)、(1から3)]、[(0 to 1)、(2 to 3)]、[(1 to 2)、(2 to 3)]および[(0 to1)、(1

  8. Pythonで操作を適用した後、辞書式に最小の文字列を見つけるプログラム

    数字のみの文字列sがあり、2つの値aとbもあるとします。次の2つの操作のいずれかを、s −に何度でも任意の順序で適用できます。 s(0-indexed)のすべての奇数位置のアイテムに「a」を追加します。数字が9の場合、何かを追加すると0に戻ります。 sをbの位置だけ右に回転させます。 したがって、上記の操作をsに何度でも適用することで、辞書式順序で最小の文字列を見つける必要があります。 したがって、入力がs =5323 a =9 b =2のような場合、出力は2050になります。 回転:「5323」 追加:「5222」 追加: 5121 回転:「2151」 追加:「205

  9. Pythonで競合のない最良のチームを見つけるためのプログラム

    スコアと年齢という2つのリストがあるとします。ここで、scores[i]とages[i]は、バスケットボールゲームのi番目のプレーヤーのスコアと年齢を表します。総合スコアが最も高いチームを選びたい。ここで、チームのスコアは、チーム内のすべてのプレーヤーのスコアの合計です。ただし、ゲーム内での競合は許可されていません。ここでは、若いプレーヤーのスコアが古いプレーヤーよりも厳密に高い場合、競合が発生します。 したがって、入力がスコア=[5,7,9,14,19]、年齢=[5,6,7,8,9]の場合、すべてのプレーヤーを選択できるため、出力は54になります。 これを解決するには、次の手順に従います

  10. Pythonで最小限の労力でパスを見つけるプログラム

    高さと呼ばれる次数mxnの2D行列があるとします。 heights [i] [j]は、セル(i、j)の高さを表します。 (0、0)セルにいる場合は、右下のセル(m-1、n-1)に移動します。上、下、左、右に移動でき、最小限の労力でルートを見つけたいと考えています。この問題では、ルートの努力は、ルートの2つの連続するセル間の高さの最大絶対差です。最後に、目的地までの移動に必要な最小限の労力を見つける必要があります。 したがって、入力が次のような場合 2 3 4 4 9 5 6 4 6 ルートが[2,3,4,5,6]であるため、出力は1に

  11. Pythonで1文字異なる部分文字列をカウントするプログラム

    2つの文字列sとtがあるとすると、空でないsの部分文字列を選択し、結果の部分文字列がtの部分文字列の1つになるように、1つの文字を別の別の文字に置き換える方法をいくつか見つける必要があります。上記の条件を満たす部分文字列の数を見つける必要があります。 したがって、入力がs =sts t =tstsの場合、出力は6になります。これは、以下が1文字だけ異なるsとtのサブストリングのペアであるためです- ( sts、 tsts)、 ( sts、 tsts)、 ( sts、 tsts)、 ( sts、 tsts)、 ( sts、 tsts)、 ( sts、 tsts) 太字の部分は、2つの文字

  12. Pythonでソートされた母音文字列をカウントするプログラム

    数nがあるとすると、母音(a、e、i、o、u)のみで構成されるサイズnの文字列の数を見つける必要があり、辞書式順序で並べ替えられます。文字列sは、すべての有効なインデックスiについて、s[i]がアルファベットのs[i + 1]と同じか、その前にある場合に辞書式順序で並べ替えられていると言えます。 したがって、入力がn =2の場合、[aa、 ae、 ai、 ao、 au、 ee、 eiなどの文字列が多数あるため、出力は15になります。 、 eo 、 eu 、 ii 、 io 、 iu 、 oo 、 ou 、uu]。 これを解決するには、次の手順に従います- nが1と同じ場合、 5を返す

  13. Pythonで文字の頻度を一意にするために必要な最小限の削除をカウントするプログラム

    文字列sがあるとすると、同じ頻度の2つの異なる文字がsにない場合、sは適切であると言われます。 sを適切な文字列にするために、削除する必要のある最小文字数を見つける必要があります。 したがって、入力がs =ssstttuuの場合、出力は2になります。これは、1つのtを削除すると、3つのs、2つのt、および2つのuが存在するため、再度削除するためです。 1つは、「t」または「u」のいずれかで、それらを適切なものにします。 これを解決するには、次の手順に従います- val:=sの各文字の頻度を含む新しいマップ res:=0 numlist:=valからすべての頻度値のリストを並べ替え

  14. PythonでXをゼロに減らすための最小操作を見つけるプログラム

    numsという配列と別の値xがあるとします。 1つの操作で、配列から左端または右端の要素を削除し、xから値を減算することができます。 xを正確に0に減らすために必要な操作の最小数を見つける必要があります。それが不可能な場合は、-1を返します。 したがって、入力がnums =[4,2,9,1,4,2,3] x =9のような場合、最初は左端の要素4を削除する必要があるため、出力は3になります。したがって、配列は次のようになります。 [2,9,1,4,2,3]およびxは5になり、次に右端の要素3を削除するため、配列は[2,9,1,4,2]になり、x =2になり、さらに次のいずれかになります。左から

  15. Pythonで指定された数値を持つ最小の文字列を見つけるプログラム

    2つの値nとkがあるとします。長さがnで数値がkに等しい辞書式順序で最小の文字列を見つける必要があります。小文字の数値はアルファベットでの位置(1から始まる)であるため、文字「a」の数値は1、文字「b」の数値は2というようになります。また、小文字で構成される文字列の数値は、その文字の数値の合計です。 したがって、入力がn =4 k =16の場合、出力は「aaam」になります。これは、数値が1 + 1 + 1 + 13 =16であり、このような値と長さを持つ最小の文字列であるためです。 4. これを解決するには、次の手順に従います- 文字列:=空白の文字列 0がゼロ以外の場合、do

  16. Pythonで公正な配列を作成する方法を見つけるためのプログラム

    numsという配列があるとします。インデックスを1つだけ選択して、そのインデックスから要素を削除できます。 (要素のインデックスは、削除後に変更される場合があります)。奇数のインデックス値の合計が偶数のインデックス値の合計と等しい場合、配列は公平であると言えます。削除後、numsが公平になるように、選択できるインデックスの数を見つける必要があります。 したがって、入力がnums =[5,3,7,2]のような場合、出力はになります。 インデックス0から削除します。配列は[3,7,2]、偶数の位置の合計:3 + 2 =5、奇数の位置の合計7(不公平) インデックス1から削除すると、配

  17. Pythonを使用してフードパケットを受け取る人の数を調べるプログラム

    会議で、2つのタイプの人がいるとします。最初のタイプの人々は菜食主義の昼食を好み、他のタイプの人々は非菜食主義の昼食を好みます。しかし、パケットの数には限りがあり、菜食主義者が非菜食主義者のパケットを受け取った場合、またはその逆の場合。彼らはそのパケットを受け取らず、好みのパケットを受け取るまで待ちません。したがって、2つの異なるタイプのパケットと人は、菜食主義者の場合は0、非菜食主義者の場合は1として示されます。ここで、2つの配列が与えられます。1つは0と1で示されるn個の食品パケットを含み、もう1つはm人のキューを含む配列であり、それらの好みは0と1で示されます。優先パケットの場合、最後に

  18. Pythonのリンクリスト間でマージするプログラム

    それぞれ長さmとnの2つのリンクリストL1とL2があるとすると、2つの位置aとbもあります。 L1からa番目のノードからノードb番目のノードにノードを削除し、その間にL2をマージする必要があります。 したがって、入力がL1 =[1,5,6,7,1,6,3,9,12] L2 =[5,7,1,6] a =3 b =6の場合、出力は次のようになります。 [1、5、6、5、7、1、6、9、12] これを解決するには、次の手順に従います- head2:=L2、temp:=L2 tempに次のノードがある間、 temp:=次のtemp tail2:=temp count:=0

  19. Pythonを使用して2倍のペアの配列を見つけるプログラム

    長さが偶数の呼び出されたnumsの配列があるとすると、0<ごとにnums[2 * i + 1] =2 * nums [2*i]となるように並べ替えることができるかどうかを確認する必要があります。 =i

  20. Pythonを使用してバケット内のボール間の最小力を最大化するプログラム

    いくつかのバケットとx個のボールが与えられたとします。ボールをバケツに入れると、その中に特殊な力が作用し、2つのボール間の最小の力を最大化する方法を見つける必要があります。位置pとqのバケット内の2つのボール間の力は|p--q|です。私たちに与えられた入力は、バケットの位置とボールの数xを含む配列です。それらの間の最小の力を見つけなければなりません。 したがって、入力がpos =[2、4、6、8、10、12]、x =3の場合、出力は4になります。 ボールは、12個のバケットの配列で指定された位置に配置できます。 3つのボールは4、8、12の位置に配置でき、それらの間のパワーは4になり

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:357/450  20-コンピューター/Page Goto:1 351 352 353 354 355 356 357 358 359 360 361 362 363