विवरण के साथ यह एक आसान समस्या है:
आकार n की एक सरणी संख्या दी गई है, बहुमत तत्व लौटाएं।
बहुसंख्यक तत्व वह तत्व है जो ⌊n / 2⌋ से अधिक बार प्रकट होता है। आप मान सकते हैं कि बहुमत तत्व हमेशा सरणी में मौजूद होता है।
उदाहरण 1:
इनपुट: अंक = [3,2,3]
आउटपुट: 3उदाहरण 2:
इनपुट: अंक = [2,2,1,1,1,2,2]
आउटपुट: 2प्रतिबंध:
n == अंक लंबाई
1 -109
पहली नज़र में आप एक नक्शा बनाने के बारे में सोचेंगे और फिर जो सबसे अधिक दिखाई देगा उसे इकट्ठा करने के बारे में सोचेंगे।
दूसरी बार सोचा कि यदि आप सॉर्ट कर सकें और वह प्राप्त कर सकें जो सबसे अधिक दिखाई देता है तो यह काम करेगा।
और इसके साथ ही एक आसान तरीका भी है। यदि आप विवरण को ध्यान से पढ़ेंगे तो आप समझ जाएंगे कि बहुसंख्यक तत्व वह है जो सरणी के आधे से अधिक भाग में दिखाई देता है।
इसे ध्यान में रखते हुए, यदि आप इसे क्रमबद्ध करेंगे और मध्य के सूचकांक को पकड़ेंगे, तो इससे समस्या हल हो जाएगी:
class Solution { public int majorityElement(int[] nums) { // sort Arrays.sort(nums); // if by majority element it means that appears more than half of nums size // then picking the middle element would be the one that's a majority element return nums[nums.length / 2]; } }
रनटाइम: 4 एमएस, बहुमत तत्व के लिए जावा ऑनलाइन सबमिशन के 54.53% से तेज।
मेमोरी उपयोग: 53.5 एमबी, अधिकांश तत्व के लिए जावा ऑनलाइन सबमिशन का 9.23% से कम।
—
इतना ही! यदि चर्चा करने के लिए कुछ और है तो बेझिझक एक टिप्पणी छोड़ें, अगर मुझसे कुछ छूट गया है तो मुझे बताएं ताकि मैं तदनुसार अपडेट कर सकूं।
अगली पोस्ट तक! :)
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3