给你一个长度为 n 的整数数组 nums 。请你构建一个长度为 2n 的答案数组 ans ,数组下标 从 0 开始计数 ,对于所有 0 <= i < n 的 i ,满足下述所有要求:
ans[i] == nums[i]
ans[i + n] == nums[i]
具体而言,ans 由两个 nums 数组 串联 形成。
返回数组 ans 。
class Solution:
def getConcatenation(self, nums: List[int]) -> List[int]:
a = nums
for i in range(len(nums)):
a.append(nums[i])
return a
给定两个数组,arr1 和 arr2,
arr2 中的元素各不相同
arr2 中的每个元素都出现在 arr1 中
对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。
示例:
输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]
输出:[2,2,2,1,4,3,3,9,6,7,19]
class Solution:
def relativeSortArray(self, arr1: List[int], arr2: List[int]) -> List[int]:
num_freq = collections.Counter(arr1)
res = []
for i in arr2:
res += [i] * num_freq[i]
num_freq[i] = 0
for i in range(1001):
if num_freq[i] > 0:
res += [i] * num_freq[i]
return res