1470. 重新排列数组
大约 1 分钟
---
1470. 重新排列数组
- 标签:数组
- 难度:简单
题目链接
题目大意
描述:给定一个长度为 的数组 ,按 的顺序排列。
要求:返回 格式的数组。
说明:
- 。
- 。
示例:
- 示例 1:
输入:nums = [2,5,1,3,4,7], n = 3
输出:[2,3,5,4,1,7]
解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]- 示例 2:
输入:nums = [1,2,3,4,4,3,2,1], n = 4
输出:[1,4,2,3,3,2,4,1]解题思路
思路 1:一次遍历
1. 核心思想
前 个是 部分,后 个是 部分。遍历 ,依次取 和 。
2. 具体步骤
第 1 步:初始化结果数组。
第 2 步:遍历 :,。
第 3 步:返回 。
3. 举例说明
以 为例:
- :取 →
- :取 →
- :取 →
思路 1:代码
class Solution:
def shuffle(self, nums: List[int], n: int) -> List[int]:
ans = []
for i in range(n):
ans.append(nums[i])
ans.append(nums[n + i])
return ans思路 1:复杂度分析
- 时间复杂度:。
- 空间复杂度:(不包含返回值)。