मान लें कि हमें एक सरणी जिसमें पूर्णांक होते हैं (आवश्यक रूप से अलग नहीं)।
चलो होना nonincreasing क्रम में सॉर्ट। हम गणना करना चाहते हैं ए एम = अधिकतम मैं ∈ [ एन ] बी [ मैं ] + मैं ।
स्पष्ट समाधान ए की छंटाई कर रहा है और फिर मी की गणना करता है । यह एक एल्गोरिथ्म देता है जो सबसे खराब स्थिति में O (n \ lg n) समय पर चलता है ।
क्या बेहतर करना संभव है? क्या हम रैखिक समय में एम की गणना कर सकते हैं ?
मेरा मुख्य प्रश्न ऊपर एक है। लेकिन समस्या के निम्नलिखित सामान्यीकरण के बारे में जानना दिलचस्प होगा।
चलो होना कुछ तुलना ओरेकल के अनुसार क्रमित और दैवज्ञ द्वारा दिए गए एक समारोह। और oracles के लिए और f को देखते हुए , हम m = \ max_ {i \ _ in [n]} f (B [i], i) की गणना करने के लिए आवश्यक समय के बारे में क्या कह सकते हैं ?
हम अभी भी ओ (n \ lg n) समय में मीटर की गणना कर सकते हैं । लेकिन क्या हम इस सामान्यीकृत मामले के लिए एक सुपर-रेखीय निचली सीमा साबित कर सकते हैं?
जवाब है हां अगर हम मान लेते हैं कि कम बाध्य पकड़ करता है पूर्णांकों पर सामान्य आदेश है और एक "अच्छा" समारोह (एक लय, बहुपद, रैखिक, आदि) है?