📅  最后修改于: 2023-12-03 14:58:31.279000             🧑  作者: Mango
本问题要求您实现一个函数,该函数用于接收一个数组A元素以升序排列,并根据以下规则在不更改原始数组A的情况下返回一个新的已排序数组B。
规则是:如果A中的一个元素x是偶数,则x在B中的顺序应该与它在A中的顺序相同。 如果A中的一个元素y是奇数,则y在B中的顺序也应该与它在A中的顺序相同。
例如,令A为{1,2,4,5,8,9},则函数应返回{1,2,4,5,8,9}。
def sort_array(arr: List[int]) -> List[int]:
函数接受一个整数列表arr
作为参数,并返回一个经过排序的整数列表。
首先需要创建两个列表,一个用于存储偶数,一个用于存储奇数。
对于原始数组中的每个元素,检查其奇偶性并将其添加到相应的列表中。
对于新数组B,将两个列表中的所有元素按原始数组中的顺序连接起来。
from typing import List
def sort_array(arr: List[int]) -> List[int]:
even_list = []
odd_list = []
for num in arr:
if num % 2 == 0:
even_list.append(num)
else:
odd_list.append(num)
return odd_list + even_list
以上是本题的实现代码。