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

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. - पायथन में दी गई संख्या के सभी अंकों का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या num है, हमें इसके अंकों का योग ढूंढना है। हमें इसे स्ट्रिंग्स का उपयोग किए बिना हल करना है। उदाहरण के लिए, यदि इनपुट है num = 512, तो आउटपुट होगा 8, क्योंकि 8 = 5 + 1 + 2। हल करने के चरण sum := 0 जब तक num != 0: sum := sum + (num % 10) num := num // 10 sum लौटाएं।

  1. - Python - दी गई ऐरे में सभी गुड इंडेक्स ढूंढना

    मान लीजिए हमारे पास संख्याओं की एक ऐरे A है, हमें इस ऐरे के सभी इंडेक्स ढूंढने हैं ताकि ऐरे से i-th एलिमेंट को डिलीट करने के बाद, ऐरे एक गुड ऐरे बन जाए। हमें ध्यान रखना है कि: गुड ऐरे एक ऐसा ऐरे है जिसमें एक एलिमेंट होता है जो अन्य सभी एलिमेंट्स के योग के बराबर होता है। यहां 1-बेस्ड इंडेक्सिंग उपयो