समस्या विवरण
संख्याओं की एक सूची nums दी गई है, हमें प्रत्येक क्रमागत सम इंडेक्स को आपस में और प्रत्येक क्रमागत विषम इंडेक्स को आपस में एक्सचेंज करना है।
उदाहरण
इनपुट: [1, 2, 3, 4, 5, 6, 7, 8, 9]
आउटपुट: [3, 4, 1, 2, 7, 8, 5, 6, 9]
व्याख्या: इंडेक्स 0↔2, 1↔3, 4↔6, 5↔7 स्वैप हुए। इंडेक्स 8 अकेला रह गया।
एल्गोरिदम
length = len(nums)i = 0सेlength-1तक स्टेप 4 में:- यदि
i+2 < length:nums[i]औरnums[i+2]स्वैप करें (सम इंडेक्स) - यदि
i+3 < length:nums[i+1]औरnums[i+3]स्वैप करें (विषम इंडेक्स)
- यदि
- संशोधित सूची वापस करें
पायथन कार्यान्वयन
class Solution:
def solve(self, nums):
length = len(nums)
for i in range(0, length, 4):
if i + 2 < length:
nums[i], nums[i+2] = nums[i+2], nums[i]
if i + 3 < length:
nums[i+1], nums[i+3] = nums[i+3], nums[i+1]
return nums
ob = Solution()
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(ob.solve(nums))
इनपुट
[1, 2, 3, 4, 5, 6, 7, 8, 9]
आउटपुट
[3, 4, 1, 2, 7, 8, 5, 6, 9]