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

Pythonでシーケンスから等差数列を作成できることを確認するプログラム


numsという番号のリストがあるとします。 numsに存在する要素がAPシリーズを形成しているかどうかを確認する必要があります。 AP(等差数列)シリーズで知っているように、2つの連続する要素間の一般的な違いは同じです。

したがって、入力がnums =[9,1,17,5,13]のような場合、出力はTrueになります。これは、それらを並べ替えると[1,5,9,13,17]になり、ここでは一般的であるためです。要素のペアごとに差は4です。

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

  • nums:=リストを並べ替えるnums

  • numsの要素数が1より大きい場合、

    • const:=nums [1]-nums [0]

  • それ以外の場合

    • Trueを返す

  • 0からnums-1のサイズのiの場合、実行

    • nums [i + 1]-nums [i]がconstと同じでない場合、

      • Falseを返す

  • Trueを返す

例(Python)

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

def solve(nums):
   nums = sorted(nums)

   if len(nums) > 1:
      const = nums[1] - nums[0]
   else:
      return True
   for i in range(len(nums)-1):
      if nums[i+1] - nums[i] != const:
         return False
   return True

nums = [9,1,17,5,13]
print(solve(nums))

入力

[9,1,17,5,13]

出力

True

  1. リスト要素を左また​​は右からスクイーズしてPythonで単一要素にするプログラム

    numsと呼ばれる数値のリストがあるとすると、残りの要素が1つになるまで、左と右の両方からそれを絞る必要があります。各ステップで状態を返します。 したがって、入力がnums =[10,20,30,40,50,60]の場合、出力はになります。 [ [10, 20, 30, 40, 50, 60],    [30, 30, 40, 110],    [60, 150],    [210] ] これを解決するには、次の手順に従います- ret:=1つの要素番号のみを含むリスト numsのサイズが1より大きい場合は numsのサイズ

  2. Pythonの部分文字列から回文を作成できます

    文字列sがあるとすると、sの部分文字列に対してクエリを実行する必要があります。クエリクエリ[i]ごとに、3つの部分[左、右、k]があり、部分文字列s [左]、...、s [右]を再配置して、それらのうち最大k個を選択して置換することができます。小文字の英字。上記の操作の後でサブストリングが回文である可能性がある場合、クエリの結果はtrueです。それ以外の場合はfalse。配列answer[]を見つける必要があります。ここで、answer[i]はi番目のクエリクエリ[i]の結果です。 たとえば、入力が「abcda」の場合、クエリは[[3,3,0]、[1,2,0]、[0,3,1]、[0,3,2]