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

ऐरे के आसन्न एलिमेंट्स जिनका योग 0 के निकटतम है - JavaScript


हमें एक JavaScript फंक्शन लिखना है जो संख्याओं का ऐरे लेता है और मूल ऐरे से दो एलिमेंट्स का सबऐरे लौटाता है जिनका योग 0 के निकटतम है।

यदि ऐरे की लंबाई 2 से कम है, तो हमें पूरा ऐरे लौटाना चाहिए।

उदाहरण के लिए: यदि इनपुट ऐरे है -

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

यहां, जोड़ी [5, -4] का योग 1 है जो ऐरे के किन्हीं दो आसन्न एलिमेंट्स के लिए 0 के निकटतम है, इसलिए हमें [5, -4] लौटाना चाहिए।

उदाहरण

const arr = [4, 4, 12, 3, 3, 1, 5, -4, 2, 2];
const closestElements = (arr, sum) => {
    if(arr.length <= 2){
        return arr;
    }
    const creds = arr.reduce((acc, val, ind) => {
        let { closest, startIndex } = acc;
        const next = arr[ind+1];
        if(!next){
            return acc;
        }
        const diff = Math.abs(sum - (val + next));
        if(diff < closest){
            startIndex = ind;
            closest = diff;
        };
        return { startIndex, closest };
    }, {
        closest: Infinity,
        startIndex: -1
    });
    const { startIndex: s } = creds;
    return [arr[s], arr[s+1]];
};
console.log(closestElements(arr, 1));

आउटपुट

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

[5, -4]

  1. - JavaScript में सरणी तत्वों को पुनर्व्यवस्थित करना

    समस्या JavaScript फ़ंक्शन जो पहले और एकमात्र आर्गुमेंट के रूप में literals की एक सरणी arr लेता है। इस सरणी में कुछ डुप्लिकेट आसन्न रूप से रखे गए हैं। हमारे फ़ंक्शन को सरणी के तत्वों को इस तरह पुनर्व्यवस्थित करना चाहिए कि सरणी में कोई दो तत्व समान न हों। हमारे फ़ंक्शन को पुनर्व्यवस्थित सरणी वापस करन

  1. - JavaScript में सरणी के तत्वों को पुनर्व्यवस्थित करना

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी arr को पहले और एकमात्र आर्गुमेंट के रूप में लेता है। सरणी arr हमेशा सम लंबाई की होगी। हमारे फ़ंक्शन को true वापस करना चाहिए यदि और केवल यदि इसे पुनः क्रमबद्ध करना संभव है जैसे कि arr[2 * i + 1] = 2 * arr[2 * i] हर 0 <= i < length(arr

  1. - जावास्क्रिप्ट में द्वि-आयामी सरणी के तत्वों का वैकल्पिक योग

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो m X n क्रम की संख्याओं की एक 2-आयामी सरणी लेता है जिसमें समान संख्या में पंक्तियां और स्तंभ होते हैं। इस सरणी के लिए, हमारा फ़ंक्शन निम्न योग की गणना करके लौटाएगा:$\sum_{i=1}^m \sum_{j=1}^n (-1)^{i+j}a_{ij}$उदाहरणनिम्न कोड देखें:const arr = [   &n