मान लीजिए कि हमारे पास संख्याओं की एक सरणी है जिसे अंक कहा जाता है। हमें यह जांचना होगा कि सरणी अपने इनऑर्डर ट्रैवर्सल के क्रम में एक बाइनरी सर्च ट्री के तत्वों को धारण कर रही है या नहीं।
इसलिए, यदि इनपुट nums =[5, 8, 15, 18, 20, 26, 39] की तरह है, तो आउटपुट ट्रू होगा क्योंकि यह
का इनऑर्डर ट्रैवर्सल है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- आकार :=अंकों का आकार
- यदि आकार या तो 0 या 1 है, तो
- सही लौटें
- i के लिए 1 से आकार -1 तक की श्रेणी में, करें
- यदि अंक [i - 1]> अंक [i], तो
- झूठी वापसी
- यदि अंक [i - 1]> अंक [i], तो
- सही लौटें
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(nums): size = len(nums) if size == 0 or size == 1: return True for i in range(1, size): if nums[i - 1] > nums[i]: return False return True nums = [5, 8, 15, 18, 20, 26, 39] print(solve(nums))
इनपुट
[5, 8, 15, 18, 20, 26, 39]
आउटपुट
True