मुझे अभी एक प्रश्न के साथ साक्षात्कार दिया गया था, और मुझे उत्सुकता है कि उत्तर क्या होना चाहिए। समस्या थी, अनिवार्य रूप से:पूर्णांक की अनारक्षित सूची में न्यूनतम न्यूनतम मानों के लिए इष्टतम खोज
कहें कि आपके पास एन पूर्णांक की एक अपरिवर्तित सूची है। आप इस सूची में के न्यूनतम मान कैसे प्राप्त करते हैं? यही है, यदि आपके पास [10, 11, 24, 12, 13] की सूची है और आप 2 न्यूनतम मानों की तलाश में हैं, तो आपको [10, 11] मिल जाएगा।
मुझे ओ (एन * लॉग (के)) समाधान मिला है, और यह मेरा सबसे अच्छा है, लेकिन मैं उत्सुक हूं कि अन्य लोग क्या आते हैं। मैं अपने समाधान को पोस्ट करके प्रदूषित लोगों के दिमाग से बचना होगा और इसे थोड़ी देर में संपादित कर दूंगा।
संपादित करें # 1: उदाहरण के लिए, की तरह एक समारोह: सूची getMinVals (सूची & एल, पूर्णांक ट)
संपादित करें # 2: ऐसा लगता है कि यह एक चयन एल्गोरिथ्म है जैसे, इसलिए मैं अपने समाधान में टॉस जाएगा भी; सूची में पुनरावृत्ति, और न्यूनतम मानों को बचाने के लिए प्राथमिकता कतार का उपयोग करना। प्राथमिकता कतार पर कल्पना यह थी कि अधिकतम मूल्य प्राथमिकता कतार के शीर्ष पर समाप्त हो जाएंगे, इसलिए शीर्ष पर एक तत्व की तुलना करने पर, शीर्ष पॉप हो जाएगा और छोटे तत्व को धक्का दिया जाएगा। इसने माना कि प्राथमिकता कतार में ओ (लॉग एन) पुश और ओ (1) पॉप था।
मुझे याद है कि एक साल पहले यह प्रश्न कर रहे थे और मुझे जो जवाब मिला वह ओ (एन * लॉग (के)) से बेहतर नहीं था, इसलिए मुझे लगता है कि आपके पास पहले से ही यह हो सकता है। – achinda99
संयोग से मुझे वास्तव में कल नौकरी पर इसे लागू करना पड़ा। यह ओ (एन * लॉग (के)) है हालांकि वहां जाने के कुछ अलग तरीके हैं। – Crashworks
यह सुनकर हमेशा अच्छा लगा कि मैंने साक्षात्कार को दूर नहीं किया। उस ने कहा, मैंने पहले किए गए 2-3 समाधानों से शायद मुझे बहुत मदद नहीं की। –