짝수 및 홀수 인덱스를 독립적으로 정렬
nums
이 제공됩니다. 다음 규칙에 따라 nums
의 값을 재정렬합니다.nums
의 홀수 인덱스에 있는 값을 증가하지 않는 순서로 정렬합니다.nums = [4,**1**,2,**3**]
이면 이후에는 [4,**3**,2,**1**]
가 됩니다. 홀수 인덱스1
및 3
의 값은 증가하지 않는 순서로 정렬됩니다. nums
의 짝수 인덱스에 있는 값을 감소하지 않는 순서로 정렬합니다.nums = [**4**,1,**2**,3]
이면 이후에는 [**2**,1,**4**,3]
가 됩니다. 짝수 인덱스0
및 2
의 값은 감소하지 않는 순서로 정렬됩니다. nums
의 값을 재정렬한 후 형성된 배열을 반환합니다.예 1:
입력: 숫자 = [4,1,2,3]
출력: [2,3,4,1]
설명:
먼저 홀수 인덱스(1과 3)에 있는 값을 증가하지 않는 순서로 정렬합니다.
따라서 숫자는 [4,1,2,3]에서 [4,3,2,1]로 변경됩니다.
다음으로 짝수 인덱스(0과 2)에 있는 값을 감소하지 않는 순서로 정렬합니다.
따라서 숫자는 [4,1,2,3]에서 [2,3,4,1]로 변경됩니다.
따라서 값을 재정렬한 후 형성된 배열은 [2,3,4,1]입니다.
예 2:
입력: 숫자 = [2,1]
출력: [2,1]
설명:
정확히 하나의 홀수 인덱스와 하나의 짝수 인덱스가 있으므로 값의 재배열이 발생하지 않습니다.
형성된 결과 배열은 초기 배열과 동일한 [2,1]입니다.
제약:
1 <= nums.length <= 100
1 <= nums[i] <= 100
해결책:
import heapq
class Solution:
def sortEvenOdd(self, nums: List[int]) -> List[int]:
n = len(nums)
evens = []
odds = []
for i in range(n):
if i & 1:
heapq.heappush(odds, -nums[i])
else:
heapq.heappush(evens, nums[i])
for i in range(n):
if i & 1:
nums[i] = -heapq.heappop(odds)
else:
nums[i] = heapq.heappop(evens)
return nums
Reference
이 문제에 관하여(짝수 및 홀수 인덱스를 독립적으로 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theabbie/sort-even-and-odd-indices-independently-3mnp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)