按奇偶排序数组 II
922. 按奇偶排序数组 II
题目描述:
给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。
对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。
你可以返回任何满足上述条件的数组作为答案。
import numpy as np
class Solution:
def kClosest(self, points: List[List[int]], K: int) -> List[List[int]]:
L = len(points)
D = np.ones(L) * 10000 # points.length <= 10000
index1 = np.empty(L)
out = [[0 for i in range(2)] for i in range(K)]
for i in range(len(points)):
D[i] = points[i][0] ** 2 + points[i][1] ** 2
index1 = np.argsort(D)
for i in range(K):
out[i] = points[index1[i]]
return out
自己的想法:
- 遍历两次,第一次遍历找到所以奇数和偶数,第二次把奇数和偶数附到奇数位和偶数位。
为什么error:
解题思路:
感想:
没有优化,暴力解法。