मान लीजिए कि हमारे पास एक पूर्णांक सरणी है जिसे अंक कहा जाता है, अब हमेशा एक सबसे बड़ा तत्व होता है। हमें यह जांचना है कि सरणी में सबसे बड़ा तत्व सरणी में हर दूसरी संख्या से कम से कम दोगुना है या नहीं। यदि ऐसा है, तो हमें सबसे बड़े तत्व का सूचकांक ज्ञात करना होगा, अन्यथा -1 को वापस करना होगा।
इसलिए, यदि इनपुट [3,6,1,0] जैसा है, तो आउटपुट 1 होगा, क्योंकि 6 सबसे बड़ी संख्या है, और सरणी x में हर दूसरी संख्या के लिए, 6, x से दोगुने से अधिक है . चूंकि 6 का सूचकांक 1 है, तो आउटपुट भी 1 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- अधिकतम :=अधिकतम अंक
- मैं के लिए 0 से लेकर अंकों के आकार तक, करें
- यदि अंक [i] अधिकतम के समान है, तो
- मैक्सइंडेक्स:=मैं
- यदि nums[i] अधिकतम और अधिकतम <2*(nums[i]) के समान नहीं है, तो
- वापसी -1
- यदि अंक [i] अधिकतम के समान है, तो
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def dominantIndex(self, nums): maximum = max(nums) for i in range(len(nums)): if nums[i] == maximum: maxindex = i if nums[i] != maximum and maximum < 2*(nums[i]): return -1 return maxindex ob = Solution() print(ob.dominantIndex([3, 6, 1, 0]))
इनपुट
[3, 6, 1, 0]
आउटपुट
1