Pythonでビットを数える
これを解決するには、次の手順に従います-
- res:=num+1個の0を保持する配列
- オフセット:=0
- 1からnum+1の範囲のiの場合
- iおよびi– 1 =0の場合、res [i]:=1およびoffset:=0
- それ以外の場合は、オフセットを1増やし、res [i]:=1 + res [offset]
- return res
理解を深めるために、次の実装を見てみましょう-
class Solution: def countBits(self, num): result = [0] * (num+1) offset = 0 for i in range(1,num+1): if i & i-1 == 0: result[i] = 1 offset = 0 else: offset+=1 result[i] = 1 + result[offset] return result ob1 = Solution() print(ob1.countBits(6))
入力
6
出力
[0, 1, 1, 2, 1, 2, 2]
-
ソートをカウントするためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、カウントソートの概念を使用して配列をソートする必要があります。 ソートのカウントは、特定の範囲のキーを処理する手法です。これには、異なるキーと値を持つオブジェクトの数を数えることが含まれます。最後に、算術計算を行って各オブジェクトの位置を取得し、出力を表示します。 次に、以下の実装のソリューションを見てみましょう- 例 def countSort(arr): # The output character array that will have sorte
-
Pythonのissuperset()
この記事では、Pythonでのissuperset()と、さまざまな分野でのその実装について学習します。 このメソッドは、セットBのすべての要素に引数として渡されるすべての要素セットAが含まれている場合はブール値Trueを返し、Aのすべての要素がBに存在しない場合はfalseを返します。 これは、BがAのスーパーセットである場合、それを意味します returns true; else False 例 いくつかの例を見てみましょう A = {'t','u','t','o','r','i',