num이라는 숫자 목록이 있다고 가정하고 모든 연속 짝수를 서로 교환해야 합니다.
따라서 입력이 nums =[4, 5, 6, 8, 10]과 같으면 출력은 [6, 5, 4, 10, 8]
이 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- temp :=null
- 0에서 숫자 크기 범위의 i에 대해
- nums[i] mod 2가 0과 같으면
- temp가 null이 아니면
- 숫자[i], 숫자[임시] 교환
- temp :=null
- 그렇지 않으면
- temp :=나
- temp가 null이 아니면
- nums[i] mod 2가 0과 같으면
- 반환 번호
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, nums): temp = None for i in range(len(nums)): if nums[i] % 2 == 0: if temp is not None: nums[i], nums[temp] = nums[temp], nums[i] temp = None else: temp = i return nums ob = Solution() print(ob.solve([4, 5, 6, 8, 10]))
입력
[4, 5, 6, 8, 10]
출력
[6, 5, 4, 10, 8]