-
PythonでのBobのゲーム
ボブという名前の友達がいて、彼が自分でゲームをしているとします。彼は自分自身にnumsと呼ばれる数のリストを与えます。今度は各ターンで、ボブはリストの2つの要素を選択し、それらを選択した数値と同じ合計の1つの正の整数に置き換えます。ボブは、配列内のすべての数値が偶数のときに勝利を宣言します。ボブが勝利を宣言できるように、必要な最小ターン数を見つける必要があります。そのような解決策がない場合は、-1を返します。 したがって、入力が[2、3、4、9、7、13]の場合、出力は2になります。これは、3,9を取り、次に12に置き換え、次に7,13を取り、20に置き換えることができるためです。 こ
-
Pythonでページネーションを予約する
bookという文字列のリストがあるとします。本にインデックス(0インデックス)をページングし、page_sizeの場合、そのページで単語のリストを見つける必要があります。ページがインデックスに登録されていない場合は、空のリストを返すだけです。 したがって、入力がbook =[hello、 world、 programming、 language、 python、 c ++、 java] page =1 page_size =3の場合、出力は次のようになります。 [言語、python、c ++] これを解決するには、次の手順に従います- l:=page * page_size
-
Pythonでのボス戦
ファイターと呼ばれるバイナリリストと、ボスと呼ばれるバイナリリストの別のリストがあるとします。戦闘機リストでは、1は戦闘機を表しています。同様に、ボスリスト1ではボスを表します。その戦闘機は、ボスよりも多くの戦闘機が含まれている場合、ボスの列を打ち負かすことができます。敗北したボスの行を削除した新しいボスマトリックスを返す必要があります。 したがって、入力が戦闘機のようなものである場合=[0,1,1] 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 その場合、出力は次のようになります
-
Pythonで車を購入する
販売中の車の価格のリストがあり、予算もkであるとすると、購入できる車の最大数を見つける必要があります。 したがって、入力が[80、20、10、30、80]、k =85の場合、価格20、10、40 で3台の車を購入できるため、出力は3になります。 これを解決するには、次の手順に従います- カウント:=0 表示価格を並べ替える 0から価格のサイズまでの範囲のiについては、実行してください 価格[i]<=kの場合、 k:=k-prices [i] count:=count + 1 それ以外の場合 ループから出てきます 返品数
-
Pythonのシーザー暗号
小文字のアルファベット文字列sがあり、オフセット番号がkであるとします。 sのすべての文字を、アルファベットに沿ってさらにkの位置にある文字に置き換える必要があります。文字がaまたはzを超えてオーバーフローすると、反対側に巻き付くことに注意する必要があります。 したがって、入力が「hello」、k =3の場合、出力は「khoor」になります これを解決するには、次の手順に従います- 関数shift()を定義します。これにはcかかります i:=(c)のASCII-(a)のASCII i:=i + k i:=i mod 26 ASCIIから文字を返す((a)+
-
Pythonのキャメルケース
単語のリストがあるとすると、キャメルケース形式で連結する必要があります。 したがって、入力が[Hello、 World、 Python、 Programming]の場合、出力は helloWorldPythonProgrammingになります。 これを解決するには、次の手順に従います- s:=空白の文字列 単語の単語ごとに- 最初の文字を大文字にし、残りを小文字にする 単語をsと連結する ret:=sの最初の文字を小文字に変換することにより、 retを返す 理解を深めるために、次の実装を見てみましょう- 例 class Solution: &
-
Pythonでの細胞融合
セルと呼ばれる番号のリストがあるとします。このリストは、さまざまなセルのサイズを表しています。ここで、各反復で、2つの最大のセルaとbが次のルールに従って相互作用します。したがって、a =bの場合、両方とも死にます。それ以外の場合、2つのセルはマージされ、それらのサイズは((a + b)/ 3)のフロアになります。最後のセルのサイズを見つけるか、セルが残っていない場合は-1を返す必要があります。 したがって、入力が[20,40,40,30]の場合、出力は16になり、最初の反復では40と40が停止し、20と30が((20 + 30)/ 3)のフロアになります。 =50/3のフロア=16 これ
-
Pythonで方向を変える
numsと呼ばれる数値のリストがあるとすると、リストが正から負または負から正の傾きに変化する回数を見つける必要があります。 したがって、入力が[2、4、10、18、6、11、13]の場合、出力は2になり、方向が10(正から負)に変わります。 )、次に6(負から正)になります。 これを解決するには、次の手順に従います- これを解決するには、次の手順に従います- 範囲1からnums-1のサイズのiの場合、実行します nums [i-1] nums [i]
-
Pythonリストの一意の値ごとにIDを割り当てます
Python辞書を使用している間、辞書の各要素を一意に識別する必要がある場合があります。そのためには、辞書の各要素に一意のIDを割り当てる必要があります。この記事では、Pythonディクショナリで繰り返される場合に、同じ一意のIDを要素に割り当てる方法を説明します。 enumerate()およびOrderedDict.fromkeys()を使用 enumerate関数は、ディクショナリの各要素にカウンタを追加することにより、特定のディクショナリを拡張します。次に、OrderedDict.fromkeys()を適用します。これにより、ディクショナリから同じ値のカウンターが抽出され、IDの
-
Pythonのリスト内の一意の番号に値を割り当てます
多くの場合、リスト内の要素を一意に識別する必要があります。そのためには、リスト内の各要素に一意のIDを割り当てる必要があります。これは、Pythonで利用可能なさまざまな組み込み関数を使用する次の2つのアプローチによって実現できます。 列挙して設定する enumerate関数は、各要素に一意のIDを割り当てます。ただし、リストがすでに重複要素である場合は、リストからキーと値のペアのディクショナリを作成し、集合関数を使用して一意の値を割り当てる必要があります。 例 # Given List Alist = [5,3,3,12] print("The given list : &quo
-
Pythonのリスト内の一意のサブリストを数える
Pythonリストにはサブリストを含めることもできます。サブリスト自体は、より大きなリスト内にネストされたリストです。この記事では、特定のリスト内の一意のサブリストの数をカウントする方法を説明します。 カウンターの使用 CounterはDictionaryのサブクラスであり、要素とその数を追跡するために使用されます。また、要素がDictキーとして格納され、それらがdict値としてカウントされる順序付けられていないコレクションと見なされます。したがって、以下の例では、サブリストを含むリストを直接取得します。 例 from collections import Counter # Given L
-
Pythonで辞書キーをリストとして取得する
多くのプログラムにとって、辞書からキーを取得することは、この辞書に依存する他のプログラムによって使用される重要な入力です。この記事では、キーをリストとしてキャプチャする方法を説明します。 dict.keysの使用 これは、キーにアクセスするための非常に直接的な方法です。このメソッドは、組み込みのメソッドとして使用できます。 例 Adict = {1:'Sun',2:'Mon',3:'Tue',4:'Wed'} print("The given dictionary is :\n ",Adict) print
-
Pythonでリストの最初と最後の要素を取得する
リストの最初と最後の要素を取得する必要がある場合があります。ここで注意が必要なのは、リストからこれらの要素を見つけながら、リストの長さを追跡する必要があることです。以下は、これを達成するために使用できるアプローチです。しかしもちろん、すべてのアプローチには、リスト内の要素のインデックスを使用することが含まれます。 インデックスのみを使用 どのリストでも、最初の要素にはインデックス値0が割り当てられ、最後の要素は値-1と見なすことができます。したがって、これらのインデックス値をリストに直接適用して、目的の結果を取得します。 例 Alist = ['Sun','Mon
-
Pythonで各サブリストの最初の要素を取得する
Pythonのリストには、その中に要素としてリストを含めることもできます。これらのネストされたリストは、サブリストと呼ばれます。この記事では、特定のリスト内の各サブリストの最初の要素のみを取得するという課題を解決します。 forループの使用 これは非常に単純なアプローチであり、サブリストをループして、サブリストのインデックス0にあるアイテムをフェッチします。以下に示すように、この目的のためにforループが使用されます。 例 Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7
-
Pythonで各サブリストの最後の要素を取得する
Pythonのリストには、その中に要素としてリストを含めることもできます。これらのネストされたリストは、サブリストと呼ばれます。この記事では、特定のリスト内の各サブリストの最後の要素のみを取得するという課題を解決します。 forループの使用 これは非常に単純なアプローチであり、サブリストをループして、サブリストのインデックス-1にあるアイテムをフェッチします。以下に示すように、この目的のためにforループが使用されます。 例 Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,
-
Pythonのリストから一意の値を取得する
Pythonのリストは、[]に配置されたアイテムの数であり、同じデータ型を持つ場合と持たない場合があります。重複を含めることもできます。この記事では、リストから一意の値のみを抽出する方法を説明します。 append()を使用 このアプローチでは、最初に新しい空のリストを作成し、次にこの新しいリストに要素がまだ存在しない場合にのみ、この新しいリストに要素を追加し続けます。 forループは、notinconditionとともに使用されます。着信要素の存在をチェックし、まだ存在していない場合にのみ追加されます。 例 def catch_unique(list_in):
-
PythonでサイズNの文字列を分割
文字列sと整数nがあるとすると、sをnサイズに分割する必要があります。 したがって、入力がs =abcdefghijklmn、n =4の場合、出力は[abcd、efgh、ijkl、mn]になります。 これを解決するには、次の手順に従います- i:=0 f:=新しいリスト i
-
Pythonで街区を訪問する総距離
街区を表す一意の文字列のマトリックスと、訪問するブロックを含む文字列の別のリストがあるとします。ブロック行列[0][0]にいる場合は、すべてのブロックを順番に訪問するために必要なマンハッタン距離の合計を見つけます。 したがって、入力が次のような場合 Q B C D E Z G G i ブロック=[H、B、C] 次に、「h」は2ブロック下(南)、1ブロック右(東)、「b」は2ブロック上(北)、「c」は1ブロック右(東)であるため、出力は6になります。 これを解決するには、次の手順に従います- coords:=キー「start」
-
Pythonのコラッツシーケンス
正の整数nがあるとすると、そのCollatzシーケンスの長さを見つける必要があります。ご存知のように、Collatzシーケンスは、nがn =3n+1の場合でもn=n/2の場合に順次生成されます。このシーケンスはn=1の場合に終了します。 したがって、入力がn =13の場合、出力は10になります。[13、40、20、10、5、16、8、4、2、1]これらはシーケンスです。 これを解決するには、次の手順に従います- numが0と同じ場合、 0を返す 長さ:=1 numは1と同じではありませんが、do num:=(num / 2)num mod 2が0の場合、それ以外の場
-
Pythonでの行列の列ソート
マトリックスがあるとすると、各列を昇順で並べ替える必要があります。 したがって、入力が次のような場合 11 21 31 6 6 4 1 11 8 その場合、出力は次のようになります 1 6 4 6 11 8 11 21 31 これを解決するには、次の手順に従います- R:=行列の行数、C:=行列の列数 res:=与えられた行列と同じサイズの行列で、0で埋めます 0からCの範囲の列の場合は、 values:=要素をmatrix [col]のベ