हाल ही में मैं इस साक्षात्कार के प्रश्न पर आया:एक सरणी में दशमलव प्रभावशाली संख्या
आपको एक सरणी में वास्तविक संख्याएं दी गई हैं। सरणी में एक संख्या को दशमलव प्रभाव कहा जाता है यदि यह सरणी में n/10 बार से अधिक होता है। यह निर्धारित करने के लिए कि दिए गए सरणी में दशमलव प्रभावशाली है या नहीं (ओ) समय एल्गोरिदम दें।
अब मैं इस को हल करने के लिए कुछ तरीके हैं, और इस सवाल के किसी भी सामान्यीकरण के बारे में सोच सकते हैं
एक पास 1 में एक हैश तालिका बनाने के लिए हो सकता है (यानी किसी भी संख्या है कि एक सरणी में कश्मीर बार दिखाई देता है खोजने) , और फिर पास 2 में आवृत्तियां, जो हे (एन) होगा की संख्या की गणना, लेकिन साथ ही हे (एन) का उपयोग करता है अंतरिक्ष,
एक ही रास्ता using 9 buckets
नहीं है लेकिन, किसी भी तरह से है कि हम यह एक स्थिर जगह में कर सकता है ?? कोई सुझाव??
[संपादित करें] मैं 9 बाल्टी समाधान की जाँच नहीं की है, पाठकों नीचे
9 बाल्टी का उपयोग करने वाला वह गलत है। एक counterexample: {0,1,2,3,4,5,6,7,8,9,10,0}। –
शायद अगर आप उस समाधान को थोड़ा सा संशोधित करते हैं, तो इसे सहेजा जा सकता है। अंत में 2 या उससे अधिक के साथ डिब्बे न दिखाएं, इसके बजाय डिब्बे में छोड़े गए प्रत्येक आइटम को फिर से गिनें। –
मुझे खेद है, मैं पूरे कोड से नहीं गया, लेकिन मूलभूत विचार जो मुझे इससे निकला, मैं इसका उपयोग कर समाधान के बारे में सोच सकता था, इसलिए मैंने उस लिंक को यहां पोस्ट किया ... मैं अभी भी संपादित नहीं करूंगा वह हिस्सा, क्योंकि मेरा इरादा यह है कि किसी भी पाठक को यह पता होना चाहिए कि आपके इनपुट के लिए धन्यवाद :) –