Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

एक जावास्क्रिप्ट सरणी में विषम संख्या में प्रकट होने वाले एक पूर्णांक को कैसे खोजें?

<घंटा/>

हमें पूर्णांकों की एक सरणी दी गई है और बताया गया है कि एक तत्व को छोड़कर सभी तत्व सम संख्या के लिए प्रकट होते हैं। हमारा काम उस तत्व को एकल पुनरावृत्ति में खोजना है।

इसे नमूना सरणी होने दें -

[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

  1. एक सरणी लें और एक ऐसा तत्व खोजें जो जावास्क्रिप्ट में विषम संख्या में दिखाई देता है

    पूर्णांकों की एक सरणी को देखते हुए, हमें एक फ़ंक्शन लिखने की आवश्यकता होती है जो इस सरणी को लेता है और एक ऐसा तत्व ढूंढता है जो विषम संख्या में दिखाई देता है। हमेशा एक ही पूर्णांक होगा जो विषम संख्या में बार-बार प्रकट होता है। हम सरणी को छाँटकर इस समस्या का समाधान करेंगे। एक बार सॉर्ट करने के बाद,

  1. सरणी में सबसे अधिक बार आने वाली संख्या का पता लगाएं और जावास्क्रिप्ट में इसे कितनी बार दोहराया जाए

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो शाब्दिक की एक सरणी लेता है और सरणी में सबसे अधिक बार आने वाली संख्या और इसे कितनी बार दोहराया जाता है। उदाहरण इसके लिए कोड होगा - गिनती [एसीसी [0] ]]) {वापसी [वैल]; }; अगर (वैल! ==एसीसी [0] &&गिनती [वैल] ===गिनती [एसीसी [0]]) {एसीसी पुश (व

  1. उस तत्व को वापस करें जो जावास्क्रिप्ट सरणी में दूसरी बार सबसे अधिक बार दिखाई देता है

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो शाब्दिक की एक सरणी लेता है। फ़ंक्शन को उस तत्व को वापस करना चाहिए जो सरणी में दूसरी बार सबसे अधिक बार दिखाई देता है। उदाहरण के लिए - यदि इनपुट ऐरे है - const arr = [2, 5, 4, 3, 2, 6, 5, 5, 7, 2, 5]; तब आउटपुट होना चाहिए - const output = 2; उदाहरण c