यह प्रश्न एक महान यूट्यूब चैनल से है, जो साक्षात्कार में पूछे जा सकने वाली समस्याओं को दे रहा है।एक सरणी में शेष बिंदु ढूँढना
यह मूल रूप से एक सरणी में शेष बिंदु खोजने के लिए संबंधित है। सबसे अच्छी व्याख्या करने के लिए यहां एक उदाहरण दिया गया है; {1,2,9,4, -1}। यहां से योग (1 + 2) = योग (4 + (- 1)) 9 शेष बिंदु बना रहा है। उत्तर की जांच किए बिना मैंने यह पूछने से पहले एल्गोरिदम लागू करने का निर्णय लिया है कि एक और अधिक कुशल दृष्टिकोण किया जा सकता है;
- योग सभी सरणी में तत्वों हे (एन)
- राशि का आधा जाओ हे (1)
- प्रारंभ स्कैनिंग सरणी, बाएं से, और रोक जब sumleft सामान्य राशि के आधे से बड़ा है। ओ (एन)
- योग सही प्राप्त करने के लिए, दाईं ओर के लिए ऐसा ही करें।ओ (एन)।
- तो sumleftsumright वापसी आगमन के बराबर है [आकार/2] अन्य सभी-1
क्योंकि इस समाधान बिना किसी प्रयास के मेरे सिर में पॉप मैं पूछ रहा हूँ लौटने के लिए, उपलब्ध कराने के ओ (एन) चलने का समय। क्या यह समाधान, यदि सत्य है, तो विकसित किया जा सकता है या यदि कोई वैकल्पिक तरीका सही नहीं है?
यदि कोई संतुलन बिंदु नहीं है, जैसे {1, 2, 3, 4, 5}? – jrok
@jrok सिर के लिए धन्यवाद! मैंने प्रश्न – Ali
@jrok संपादित किया है, मुझे लगता है कि उस सरणी का शेष बिंदु '4' है। आईई बाईं ओर के तत्वों का योग '6' '''' के तत्वों का योग' 5' है। जिस दूरी को हम कम करना चाहते हैं वह केवल '1' है। यह चाल इस तथ्य में है कि सरणी में नकारात्मक संख्याएं हो सकती हैं। – Paulpro