मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे nums कहा जाता है, हमें प्रत्येक क्रमागत सम अनुक्रमणिका को एक-दूसरे से अदला-बदली करके और प्रत्येक क्रमागत विषम अनुक्रमणिका को एक-दूसरे से अदला-बदली करके सूची वापस करनी होगी।
इसलिए, यदि इनपुट अंकों की तरह है =[8,5,3,4,8,9,3,6,4,7], तो आउटपुट [3, 4, 8, 5, 3, 6, 8] होगा। , 9, 4, 7]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- मैं के लिए 0 से लेकर अंकों के आकार तक के लिए - 2, 4 से बढ़ाएँ, करें
- यदि i + 2 <अंकों का आकार, तो
- अंकों की अदला-बदली करें[i] और अंक[i + 2]
- यदि मैं + 3 <अंकों का आकार, तो
- अंकों की अदला-बदली करें[i + 1] और अंक[i + 3]
- यदि i + 2 <अंकों का आकार, तो
- वापसी संख्या
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
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]