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