हमें पूर्णांकों की एक सरणी दी गई है और बताया गया है कि एक तत्व को छोड़कर सभी तत्व सम संख्या के लिए प्रकट होते हैं। हमारा काम उस तत्व को एकल पुनरावृत्ति में खोजना है।
इसे नमूना सरणी होने दें -
[1, 4, 3, 4, 2, 3, 2, 7, 8, 8, 9, 7, 9]
इस समस्या को हल करने से पहले, हमें बिटवाइज XOR (^)ऑपरेटर के बारे में थोड़ा समझने की जरूरत है।
यदि दोनों ऑपरेंड एक दूसरे के पूरक हैं तो XOR ऑपरेटर TRUE लौटाता है और यदि दोनों ऑपरेंड समान हैं तो FALSE लौटाता है।
XOR () ऑपरेटर की ट्रुथ टेबल -
0 ^ 0 → 0 0 ^ 1 → 1 1 ^ 0 → 1 1 ^ 1 → 0
यदि हम इस व्यवहार की बारीकी से जांच करते हैं, तो हम देख सकते हैं कि जब एक्सओआर ऑपरेटर का उपयोग सटीक समान मानों पर किया जाता है (उदाहरण के लिए, 12^12) यह हमेशा FALSE या 0 लौटाता है, दूसरे शब्दों में इसका उपयोग नकारात्मक मूल्यों के लिए किया जा सकता है जो कई बार भी दिखाई देता है . और ठीक यही हम चाहते हैं।
तो, इसे नीचे दिए गए कोड में लिख रहे हैं -
उदाहरण
const sampleArray = [1, 4, 3, 4, 2, 3, 2, 7, 8, 8, 9, 7, 9]; console.log(sampleArray.reduce((a, b) => a ^ b));
यह प्रत्येक तत्व पर पुनरावृति करता है और उन तत्वों को नकारता रहता है जो समान रूप से प्रकट होते हैं और विषम संख्या में प्रकट होने वाला एकमात्र तत्व वापस आ जाता है।
आउटपुट
कंसोल आउटपुट होगा -
1