Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用して文を切り捨てた後にk個のパーティションを見つけるプログラム


いくつかの英語の単語が存在する文があり、先頭または末尾にスペースがない単一のスペースで区切られているとします。別の値kもあります。切り捨てた後、最初のk語だけを見つける必要があります。

したがって、入力がs="コーディングの課題は学生にとって本当に役立つ"k=5の場合、出力はTrueになります(画像を参照)

これを解決するには、次の手順に従います-

  • 単語:=sをスペースで分割

  • スペースを区切って単語配列の最初のk文字を結合し、戻ります

理解を深めるために、次の実装を見てみましょう-

def solve(s, k):
   words = s.split()
   return " ".join(words[:k])
s = "Coding challenges are really helpful for students"
k = 5
print(solve(s, k))

入力

"Coding challenges are really helpful for students", 5

出力

Coding challenges are really helpful

  1. Pythonでk日後の刑務所の独房の状態を見つけるプログラム

    バイナリリスト(リスト内の1と0)と別の値kがあるとします。 numsの各値は、刑務所の独房の状態を表します。1は占有されたセルを示し、0は空のセルを示します。セルに2つの隣接するセルがあり、両方が占有されているか、両方が空である場合、そのセルは毎日占有されます。それ以外の場合は、空になります。したがって、k日後の刑務所の独房の状態を見つける必要があります。 したがって、入力がnums =[1、0、1、0、0、0、0、0] k =1のような場合、出力は[0、1、1、0、1、1、1になります。 0]、最初と最後のインデックスは2つのネイバーを持つことができないため、占有できないことがわかります

  2. Pythonでk個の増分の後に最も多く発生する数を見つけるプログラム

    numsと呼ばれる数値のリストと別の値kがあるとします。ある要素を1つ増やす操作を考えてみましょう。最大でk回実行できますが、取得できる最も頻繁に発生する数値の値を見つける必要があります。複数の解決策がある場合は、可能な限り小さい数を選択してください。 したがって、入力がnums =[1、0、0、0、8、8、8、8] k =8のような場合、出力は8になります。これは、1を7倍に増やして8を取得できるためです。任意の0を1に増やすと、[8、1、0、0、8、8、8、8]が得られます。したがって、結果は8になります。 これを解決するには、次の手順に従います。 リスト番号を並べ替える 低:=0、