Pythonで偶数のインデックス要素と奇数のインデックス要素を交換する
numsと呼ばれる数値のリストがあるとすると、連続する各偶数インデックスを相互に交換し、連続する各奇数インデックスも相互に交換します。
したがって、入力が[1,2,3,4,5,6,7,8,9]の場合、出力は[3、4、1、2、7、8、5、6、9]になります。 ]
これを解決するには、次の手順に従います-
- 長さ:=numsのサイズ
- 0から長さの範囲のiの場合、4ずつ増やします。
- i + 2
- nums[i]とnums[i+2]を交換します
- i + 2
- i + 3
- nums [i+1]とnums[i+3]を交換します
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, nums): length = len(nums) for i in range(0,length,4): if(i+2<length): nums[i], nums[i+2] = nums[i+2], nums[i] if(i+3<length): nums[i+1], nums[i+3] = nums[i+3], nums[i+1] return nums ob = Solution() nums = [1,2,3,4,5,6,7,8,9] print(ob.solve(nums))
入力
[1,2,3,4,5,6,7,8,9]
出力
[3, 4, 1, 2, 7, 8, 5, 6, 9]
-
リスト内の偶数と奇数をカウントするPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、リスト内の偶数と奇数を数える必要があります。 以下で説明する3つの方法があります- アプローチ1-力ずくのアプローチを使用する 例 list1 = [21,3,4,6,33,2,3,1,3,76] even_count, odd_count = 0, 0 # enhanced for loop for num in list1: #even numbers if num % 2 == 0:
-
奇数桁と偶数桁の合計の差のためのPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 −整数の場合、奇数桁の合計と偶数桁の合計の差が0であるかどうかを計算する必要があります。 ブルートフォースアプローチでは、数値のすべての偶数桁と奇数桁の合計を計算し、それらを減算して答えを計算します。 計算時間を短縮するために、精神数学の概念を使用します。 上記の制約は、数値が11で割り切れる場合にのみ当てはまります。したがって、以下の実装では、数値の11で割り切れる可能性を確認します。 ここで、複雑さはO(n)から、分割可能性と比較に関係する一定の時間に減少します。 それでは