मान लीजिए कि हमारे पास nums नामक एक सूची है, हमें यह जांचना है कि क्या हम अंकों के क्रम को इस तरह से पुनर्व्यवस्थित कर सकते हैं कि लगातार दो संख्याओं के प्रत्येक युग्म के बीच का अंतर समान हो।
इसलिए, यदि इनपुट अंकों की तरह है =[8, 2, 6, 4], तो आउटपुट ट्रू होगा, क्योंकि यदि हम [2, 4, 6, 8] जैसे अंकों को पुनर्व्यवस्थित करते हैं, तो प्रत्येक दो जोड़ी के बीच का अंतर लगातार संख्या 2 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
N :=अंकों का आकार
-
अगर एन <=2, तो
-
सही लौटें
-
-
सूची संख्या क्रमित करें
-
targetDiff :=nums[1] - nums[0]
-
मैं के लिए 2 से एन -1 की सीमा में, करो
-
अगर nums[i] - nums[i - 1] targetDiff के समान नहीं है, तो
-
झूठी वापसी
-
-
-
सही लौटें
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
def solve(nums): N = len(nums) if N <= 2: return True nums.sort() targetDiff = nums[1] - nums[0] for i in range(2, N): if nums[i] - nums[i - 1] != targetDiff: return False return True nums = [8, 2, 6, 4] print(solve(nums))
इनपुट
[8, 2, 6, 4]
आउटपुट
True