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

जावास्क्रिप्ट में दी गई संख्या के योग के लिए अद्वितीय संख्या जोड़े के सभी सूचकांकों का सबसे छोटा योग खोजें

<घंटा/>

हमें एक फ़ंक्शन लिखने की आवश्यकता होती है जो पहले तर्क के रूप में संख्याओं की एक सरणी और दूसरे तर्क के रूप में एक लक्ष्य योग लेता है। फिर हम सरणी के माध्यम से लूप करना चाहते हैं और फिर प्रत्येक मान को एक दूसरे में जोड़ना चाहते हैं (स्वयं + को छोड़कर)।

और यदि लूप किए गए दो मानों का योग लक्ष्य योग के बराबर है, और मानों की जोड़ी का सामना पहले नहीं किया गया है, तो हम उनके सूचकांकों को याद करते हैं और अंत में, सभी याद किए गए सूचकांकों का पूरा योग लौटाते हैं।

यदि सरणी है -

const arr = [1, 4, 2, 3, 0, 5];

और योग है -

const sum = 7;

तब आउटपुट 11 होना चाहिए, क्योंकि,

4 + 3 = 7
5 + 2 = 7

इंडेक्स -

4 [index: 1]
2 [index: 2]
3 [index: 3]
5 [index: 5]

यानी

1 + 2 + 3 + 5 = 11

उदाहरण

इसके लिए कोड होगा -

const arr = [1, 4, 2, 3, 0, 5];
const findIndexSum = (arr = [], sum = 0) => {
   let copy = arr.slice(0);
   const used = [];
   let index = 0, indexFirst = 0, indexSecond, first, second;
   while (indexFirst < copy.length){
      indexSecond = indexFirst + 1;
      while(indexSecond < copy.length){
         first = copy[indexFirst];
         second = copy[indexSecond];
         if (first + second === sum){
            used.push(first, second);
            copy = copy.filter(el => first !== el && second !== el );
            indexFirst--;
            break;
         }
         indexSecond++;
      }
      indexFirst++;
   };
   const indexSum = used.sort().reduce((acc, val, ind) => {
      const fromIndex = ind === 0 || val !== used[ind - 1] ? 0 : index + 1 index = arr.indexOf(val, fromIndex);
      return acc + index;
   }, 0);
   return indexSum;
};
console.log(findIndexSum(arr, 7));

आउटपुट

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

11

  1. दी गई संख्या C# से योग का अद्वितीय संयोजन कैसे ज्ञात करें?

    मान्य अनुक्रमों को संग्रहीत करने के लिए एक आउटपुट सूची बनाएं, एक वर्तमान सूची बनाएं जो रिकर्सन ट्री के पथ में पाए गए वर्तमान अनुक्रम को संग्रहीत करेगी। एक बैकट्रैक फ़ंक्शन जो लक्ष्य प्राप्त होने तक रिकर्सन में जाएगा, अन्यथा, इसे पिछले चरण में वापस जाना चाहिए क्योंकि लक्ष्य 0 से कम हो जाता है। किसी भ

  1. पायथन में दी गई संख्या के सभी अंकों का योग ज्ञात करने का कार्यक्रम

    मान लीजिए कि हमारे पास एक संख्या है, हमें उसके अंकों का योग ज्ञात करना है। हमें इसे स्ट्रिंग्स का उपयोग किए बिना हल करना होगा। इसलिए, यदि इनपुट संख्या =512 की तरह है, तो आउटपुट 8 होगा, जैसा कि 8 =5 + 1 + 2 है। tput 8 होगा, क्योंकि 8 =5 + 1 + 2. इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - योग

  1. पायथन में दिए गए ऐरे में सभी अच्छे सूचकांक खोजें

    मान लीजिए कि हमारे पास संख्याओं की एक सरणी A है, हमें इस सरणी के सभी सूचकांकों को खोजना होगा ताकि सरणी से ith तत्व को हटाने के बाद, सरणी एक अच्छी सरणी होगी। हमें यह ध्यान रखना होगा कि - अच्छा सरणी एक तत्व के साथ एक सरणी है जो अन्य सभी तत्वों के योग के बराबर होती है। 1-आधारित अनुक्रमण का उपयोग यहां