Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 연속 인덱스 쌍을 교환하여 배열을 찾는 프로그램

<시간/>

nums라는 숫자 목록이 있다고 가정하고 연속된 짝수 인덱스를 서로 교환하고 연속되는 홀수 인덱스를 서로 교환하여 목록을 반환해야 합니다.

따라서 입력이 nums =[8,5,3,4,8,9,3,6,4,7]과 같으면 출력은 [3, 4, 8, 5, 3, 6, 8이 됩니다. , 9, 4, 7]

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 0에서 숫자 크기 - 2까지의 i에 대해 4만큼 증가, do
    • i + 2 <숫자의 크기이면
      • 숫자[i]와 숫자[i + 2] 교환
    • i + 3 <숫자의 크기이면
      • 숫자[i + 1]와 숫자[i + 3] 교환
  • 반환 번호

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def solve(nums):
   for i in range(0, len(nums) - 2, 4):
      if i + 2 < len(nums):
         nums[i], nums[i + 2] = nums[i + 2], nums[i]
      if i + 3 < len(nums):
         nums[i + 1], nums[i + 3] = nums[i + 3], nums[i + 1]

   return nums

nums = [8,5,3,4,8,9,3,6,4,7]
print(solve(nums))

입력

[8,5,3,4,8,9,3,6,4,7]

출력

[3, 4, 8, 5, 3, 6, 8, 9, 4, 7]