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

किसी सरणी में तीन तत्वों का समूह कैसे खोजें, जिसका योग कुछ लक्ष्य योग के बराबर हो जावास्क्रिप्ट

<घंटा/>

हमें एक फंक्शन लिखना है, जैसे कि थ्रीसम () जो संख्याओं की एक सरणी और एक लक्ष्य में लेता है। यह जाँचता है कि क्या सरणी में कोई तीन संख्याएँ मौजूद हैं जो लक्ष्य योग में जुड़ती हैं, यदि सरणी में ऐसी तीन संख्याएँ मौजूद हैं, तो इसे अपने सूचकांकों को एक सरणी में वापस करना चाहिए अन्यथा इसे -1 वापस करना चाहिए।

दृष्टिकोण

दृष्टिकोण सरल है, हम पहले एक फ़ंक्शन टूसम () लिखेंगे, जो एक सरणी और लक्ष्य योग लेता है और दो संख्याओं के सूचकांकों को वापस करने के लिए रैखिक समय और स्थान लेता है जो कुल लक्ष्य योग को जोड़ते हैं अन्यथा -1।

फिर हम वास्तविक फ़ंक्शन थ्रीसम () लिखते हैं, जो तीसरे तत्व की अनुक्रमणिका को खोजने के लिए सरणी में प्रत्येक तत्व पर पुनरावृति करता है, जिसे जब दो योग () संख्याओं में जोड़ा जाता है तो वास्तविक लक्ष्य तक जुड़ सकता है।

इसलिए, इस तरह हम तीन तत्वों को O(N^2) समय में पा सकते हैं। आइए इसके लिए कोड लिखें -

उदाहरण

const arr = [1,2,3,4,5,6,7,8];
const twoSum = (arr, sum) => {
   const map = {};
   for(let i = 0; i < arr.length; i++){
      if(map[sum-arr[i]]){
         return [map[sum-arr[i]], i];
      };
      map[arr[i]] = i;
   };
   return -1;
};
const threeSum = (arr, sum) => {
   for(let i = 0; i < arr.length; i++){
      const indices = twoSum(arr, sum-arr[i]);
      if(indices !== -1 && !indices.includes(i)){
         return [i, ...indices];
      };
   };
   return -1;
};
console.log(threeSum(arr, 9));
console.log(threeSum(arr, 8));
console.log(threeSum(arr, 13));
console.log(threeSum(arr, 23));

आउटपुट

कंसोल में आउटपुट होगा -

[ 0, 2, 4 ]
[ 0, 2, 3 ]
[ 0, 4, 6 ]
-1

  1. मैं जावास्क्रिप्ट में एक सरणी कैसे खाली करूं?

    JavaScript में किसी सरणी को खाली करने के लिए, वेरिएबल को खाली पर सेट करें: गिरफ्तारी =[] उदाहरण जावास्क्रिप्ट में किसी सरणी को खाली करने के लिए आप निम्न कोड चलाने का प्रयास कर सकते हैं: JavaScript Arrays var arr =[ऑरेंज, आम, केला, चीनी, चाय) ]; document.write(मूल सरणी: + arr ); गिरफ्तार =[]; do

  1. एकाधिक मानों द्वारा जावास्क्रिप्ट सरणी के तत्वों को कैसे खोजें?

    जावास्क्रिप्ट सरणी के तत्वों को अनेक मानों द्वारा खोजने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &l

  1. जावास्क्रिप्ट में एक सरणी में आवश्यक योग के साथ तीन तत्व ढूँढना

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले तर्क के रूप में संख्याओं की एक सरणी और दूसरे तर्क के रूप में एक संख्या लेता है। फ़ंक्शन को तब सरणी से तीन ऐसी संख्याएं चुननी चाहिए, (यदि वे मौजूद हैं) जिसका योग दूसरे तर्क द्वारा निर्दिष्ट संख्या के बराबर है। फ़ंक्शन को अंत में ऐसे सभी ट्रि