हमें पूर्णांकों का एक ऐरे दिया गया है और बताया गया है कि एकल तत्व को छोड़कर सभी तत्व सम संख्या में बार प्रकट होते हैं। हमारा काम उस तत्व को एकल पुनरावृत्ति में ढूंढना है।
मान लीजिए यह नमूना ऐरे है -
[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
यदि हम इस व्यवहार की बारीकी से जांच करते हैं, तो हम देख सकते हैं कि जब XOR ऑपरेटर का उपयोग सटीक समान मानों (उदाहरण के लिए, 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