Skip to content

Commit a8545b3

Browse files
author
danghai
committed
reorganize bit
1 parent 8fdc37b commit a8545b3

19 files changed

+32
-31
lines changed

algorithms/bit/__init__.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from .add_bitwise_operator import *
2+
from .count_ones import *
3+
from .find_missing_number import *
4+
from .power_of_two import *
5+
from .reverse_bits import *
6+
from .single_number import *
7+
from .single_number2 import *
8+
from .single_number3 import *
9+
from .subsets import *
10+
from .bit_operation import *
11+
from .swap_pair import *
12+
from .find_difference import *
13+
from .has_alternative_bit import *
14+
from .insert_bit import *
15+
from .remove_bit import *
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

bit/single_number2.py algorithms/bit/single_number2.py

-16
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,6 @@
1717
the remaining should be the exact bit of the single number.
1818
In this way, you get the 32 bits of the single number.
1919
"""
20-
def single_number(nums):
21-
"""
22-
:type nums: List[int]
23-
:rtype: int
24-
"""
25-
res = 0
26-
for i in range(0, 32):
27-
count = 0
28-
for num in nums:
29-
if (num >> i) & 1:
30-
count += 1
31-
res |= ((count % 3) << i)
32-
if res >= 2**31:
33-
res -= 2**32
34-
return res
35-
3620

3721
# Another awesome answer
3822
def single_number2(nums):
File renamed without changes.
File renamed without changes.
File renamed without changes.

bit/__init__.py

Whitespace-only changes.

tests/test_bit.py

+17-15
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
1-
from bit.add_bitwise_operator import add_bitwise_operator
2-
from bit.count_ones import count_ones_iter, count_ones_recur
3-
from bit.find_missing_number import find_missing_number, find_missing_number2
4-
from bit.power_of_two import is_power_of_two
5-
from bit.reverse_bits import reverse_bits
6-
from bit.single_number import single_number
7-
from bit.single_number2 import single_number2
8-
from bit.single_number3 import single_number3
9-
from bit.subsets import subsets
10-
from bit.bit_operation import get_bit, set_bit, clear_bit, update_bit
11-
from bit.swap_pair import swap_pair
12-
from bit.find_difference import find_difference
13-
from bit.has_alternative_bit import has_alternative_bit, has_alternative_bit_fast
14-
from bit.insert_bit import insert_one_bit, insert_mult_bits
15-
from bit.remove_bit import remove_bit
1+
from algorithms.bit import (
2+
add_bitwise_operator,
3+
count_ones_iter, count_ones_recur,
4+
find_missing_number, find_missing_number2,
5+
is_power_of_two,
6+
reverse_bits,
7+
single_number,
8+
single_number2,
9+
single_number3,
10+
subsets,
11+
get_bit, set_bit, clear_bit, update_bit,
12+
swap_pair,
13+
find_difference,
14+
has_alternative_bit, has_alternative_bit_fast,
15+
insert_one_bit, insert_mult_bits,
16+
remove_bit
17+
)
1618

1719
import unittest
1820
import random

0 commit comments

Comments
 (0)