48 lines
1 KiB
Python
48 lines
1 KiB
Python
from typing import List
|
|
|
|
|
|
class SolutionOne:
|
|
def shuffle(self, nums: List[int], n: int) -> List[int]:
|
|
n_a = []
|
|
l = 0
|
|
for i in range(0, len(nums)):
|
|
if i % 2 == 0:
|
|
n_a.append(nums[l])
|
|
l += 1
|
|
else:
|
|
n_a.append(nums[n])
|
|
n += 1
|
|
return n_a
|
|
|
|
|
|
class SolutionTwo:
|
|
def shuffle(self, nums: List[int], n: int) -> List[int]:
|
|
lst = []
|
|
for i in range(n):
|
|
lst += [nums[i]]
|
|
lst += [nums[i + n]]
|
|
return lst
|
|
|
|
|
|
if __name__ == "__main__":
|
|
nums = [2, 5, 1, 3, 4, 7]
|
|
n = 3
|
|
sol = SolutionTwo
|
|
print(nums)
|
|
print(sol().shuffle(nums, n))
|
|
print("-" * 60)
|
|
nums = [1, 2, 3, 4, 4, 3, 2, 1]
|
|
n = 4
|
|
print(nums)
|
|
print(sol().shuffle(nums, n))
|
|
print("-" * 60)
|
|
nums = [1, 1, 2, 2]
|
|
n = 2
|
|
print(nums)
|
|
print(sol().shuffle(nums, n))
|
|
print("-" * 60)
|
|
nums = [1, 2]
|
|
n = 1
|
|
print(nums)
|
|
print(SolutionOne().shuffle(nums, n))
|
|
print("-" * 60)
|