Pythonic

arr = [char for char, count in Counter(S).most_common() for _ in range(count)]
alen = len(arr)
half_len = (alen >> 1) + 1 if alen&1  else (alen >> 1)
res = [0] * alen
res[::2], res[1::2] = arr[:half_len], arr[half_len:]

chars = [char for char, count in Counter(S).most_common() for _ in range(count)]
h = math.ceil(len(chars) / 2) chars[::2], chars[1::2] = chars[:h], chars[h:]

猜你喜欢

转载自www.cnblogs.com/squirrel2300/p/9049853.html