एल्गोरिथ्म साक्षात्कार प्रश्न: जावास्क्रिप्ट का उपयोग करके एक पूर्णांक को कैसे रिवर्स करें

एक सामान्य साक्षात्कार का सवाल है कि कई सॉफ्टवेयर इंजीनियरिंग आवेदकों को रिवर्स पूर्णांक प्रश्न प्राप्त होता है, जो बताता है: "पूर्णांक को देखते हुए, एक पूर्णांक लौटाएं जो संख्याओं का रिवर्स ऑर्डर है"। यह काफी सरल लगता है, लेकिन कई शुरुआती प्रोग्रामर अक्सर एक पूर्ण समाधान के साथ आने के लिए संघर्ष करते हैं। यह ब्लॉग एक गहन समीक्षा और इस समस्या के उत्तर के टूटने में जाएगा।

पहले, मैं उत्तर प्रस्तुत करने जा रहा हूं, और फिर मैं उत्तर के प्रत्येक पहलू को तोड़ूंगा और समझाऊंगा।

फ़ंक्शन रिवर्सआईंट (एन) {
const रिवर्स = parseInt (n.toString ()। स्प्लिट ('')। रिवर्स ()। join (''))
वापसी Math.sign (n) * उलटा
}

आइए आगे इसकी जांच करें।

चरण 1) सबसे पहले, हम एक फ़ंक्शन बनाते हैं जिसे रिवर्सआईंट कहा जाता है जो एक संख्या (एन) के तर्क में लेता है। जबकि JS में किसी संख्या को उल्टा करने का कोई अंतर्निहित तरीका नहीं है, हम जानते हैं कि .reverse () को किसी सरणी की सामग्री को उलटने के लिए कहा जा सकता है। लेकिन एक पूर्णांक को एक सरणी में कैसे बदलेंगे? यह दो-चरणीय प्रक्रिया है। 531 नंबर से शुरू करते हैं। चलो रिवर्स नामक एक वैरिएबल बनाते हैं।

चरण 2) इसे शुरू करने के लिए हमें पूर्णांक को एक स्ट्रिंग में बदलने की आवश्यकता है, इसलिए हम n.toString () के साथ शुरू करते हैं जो इसे प्राप्त करता है। यदि हम उस पर 531.toString () कहते हैं तो 531 "531" बन जाएगा।

चरण 3) हमारे पास पूर्णांक एक स्ट्रिंग के रूप में है, हम स्ट्रिंग पर .split ('') को कॉल कर सकते हैं। यदि आप जावास्क्रिप्ट में .split फ़ंक्शन से परिचित नहीं हैं, तो इस लिंक को देखें। स्प्लिट में एक विभाजक और सीमा विकल्प है। यदि रिक्त स्ट्रिंग ("") को विभाजक के रूप में उपयोग किया जाता है, तो स्ट्रिंग को प्रत्येक वर्ण के बीच विभाजित किया जाता है। यह उन मदों के साथ एक सरणी देता है जो "विभाजित" थे। अब हमारे पास एक सरणी है जहां प्रत्येक तत्व प्रारंभिक संख्या के प्रत्येक अंक का प्रतिनिधित्व करता है। "531" अब है [5, 3, 1]

चरण 4) अब जब हमारे पास एक सरणी के रूप में पूर्णांक है, तो हम सरणी में .reverse () को कॉल कर सकते हैं, जो इसे उल्टा कर देगा। यदि सरणी [5, 3, 1] है तो अब यह [1, 3, 5] होगा। अब जब हमने इसे सरणी रूप में उलट दिया है, तो हमारा अगला कदम इसे वापस स्ट्रिंग में बदलना है।

चरण 5) एक स्ट्रिंग को एक स्ट्रिंग में बदलने के लिए, हमें खाली स्ट्रिंग ("") के मापदंडों के साथ सरणी पर .join () विधि को कॉल करना होगा। यह हमारे सरणी को ले जाएगा, उदाहरण के लिए [1, 3, 5] और इसे "135" के स्ट्रिंग में बदल दें।

चरण 6) अब हम इतने करीब हैं! हमने अपनी स्ट्रिंग को उलट दिया है, अब हमें स्ट्रिंग को पूर्णांक में बदलना है। जिस तरह से हम करते हैं कि यह parseInt () में गुजरता है। एक बार जब हम स्ट्रिंग "135" पर कॉल करते हैं, तो हमारा परिणाम 135 नंबर है।

चरण 7) यह एक आवश्यक कदम है क्योंकि पूर्णांक सकारात्मक या नकारात्मक हो सकते हैं! बचाव के लिए गणित। Math.sign () पूर्णांक लेता है, और यह संकेत के आधार पर, 1 या -1 रिटर्न करता है। यदि हम Math.sign के तर्क के रूप में n पास करते हैं, तो यह हमें 1 देगा यदि यह एक सकारात्मक संख्या है या -1, यदि यह एक ऋणात्मक संख्या है, तो हम सभी को Math.sign का परिणाम गुणा करना होगा (n) रिवर्स वेरिएबल पूर्णांक द्वारा जो हमें अपना उत्तर प्राप्त करने के लिए मिला है!

वहां आपके पास, रिवर्स पूर्णांक समस्या को हल करने के लिए एक सरल और प्रभावी विधि की एक गहन व्याख्या है। हैप्पी कोडिंग!