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