Extracted bitmap_sort function
This commit is contained in:
parent
402d641f64
commit
33fceb73d9
@ -1,15 +1,16 @@
|
|||||||
from bitarray import bitarray
|
from bitarray import bitarray
|
||||||
|
|
||||||
|
def bitmap_sort(nums, n):
|
||||||
|
arr = (n + 1) * bitarray('0')
|
||||||
|
for num in nums:
|
||||||
|
arr[num] = 1
|
||||||
|
|
||||||
|
return (i for (i, bit) in enumerate(arr) if bit)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import sys
|
import sys
|
||||||
n = int(sys.argv[1])
|
n = int(sys.argv[1])
|
||||||
arr = (n + 1) * bitarray('0')
|
nums = (int(line) for line in sys.stdin)
|
||||||
|
|
||||||
for line in sys.stdin:
|
for i in bitmap_sort(nums, n):
|
||||||
num = int(line)
|
|
||||||
arr[num] = 1
|
|
||||||
|
|
||||||
for (i, bit) in enumerate(arr):
|
|
||||||
if bit:
|
|
||||||
print i
|
print i
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user