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
-
リスト要素を左または右からスクイーズして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のサイズ
-
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]