एक साक्षात्कार प्रश्न:दो अनुक्रमों के तत्वों को स्वैप करें, जैसे कि तत्व-रकम का अंतर न्यूनतम हो जाता है।
को देखते हुए दो गैर-आदेश दिया पूर्णांक दृश्यों
a
औरb
, उनके आकार n, सभी संख्या बेतरतीब ढंग से चुना जाता है है:a
औरb
के तत्वों, ऐसे तत्वों का योग है जो Exchangea
की संख्याb
के तत्वों की राशि न्यूनतम है।
उदाहरण को देखते हुए:
a = [ 5 1 3 ]
b = [ 2 4 9 ]
परिणाम (1 + 2 + 3) है - (4 + 5 + 9) = -12।
मेरा एल्गोरिदम: उन्हें एक साथ क्रमबद्ध करें और फिर a
में पहले सबसे छोटे n
इनट्स डालें और b
में छोड़ दें। यह समय में ओ (एन एलजी एन) और अंतरिक्ष में ओ (एन) है। मुझे नहीं पता कि समय में ओ (एन) के साथ एल्गोरिदम में इसे कैसे सुधारें और ओ (1) अंतरिक्ष में कैसे करें। ओ (1) का मतलब है कि हमें सीईसी 1 और 2 को छोड़कर अधिक अतिरिक्त जगह की आवश्यकता नहीं है।
कोई विचार?
एक वैकल्पिक प्रश्न होगा: क्या होगा यदि हमें मतभेदों के पूर्ण मूल्य को कम करने की आवश्यकता है (|sum(a) - sum(b)|
को कम करें)?
एक अजगर या सी ++ सोच को प्राथमिकता दी जाती है।
एक होमवर्क की तरह लगता है। यदि ऐसा है, तो कृपया तदनुसार टैग करें। – celtschk
यदि आप मूल ए और बी सूचियों पर विचार करते हैं तो यह अंतरिक्ष में ओ (1) नहीं हो सकता है। यदि आप उन्हें नहीं मानते हैं, तो बस मूल्यों को सीधे स्वैप करें। किसी भी मामले में, कृपया प्रश्न में अधिक जानकारी प्रदान करें। – GaretJax
@GaretJax, ओ (एन) समय के साथ कुशलतापूर्वक स्वैप कैसे करें? – user1002288