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

जावास्क्रिप्ट में सबसे छोटी राशि वाला पथ

<घंटा/>

समस्या

जावास्क्रिप्ट फ़ंक्शन जो पहले और एकमात्र तर्क के रूप में संख्याओं की 2-डी सरणी लेता है।

हमारे फ़ंक्शन को प्रत्येक पंक्ति से बिल्कुल एक तत्व चुनकर 2-डी सरणी से पथ ढूंढना चाहिए, और आसन्न पंक्तियों से चुने गए दो तत्व एक ही कॉलम में नहीं होने चाहिए। इन सभी पथों में से, हमारे फ़ंक्शन को उस पथ का योग वापस करना चाहिए जिसमें न्यूनतम योग हो।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const arr = [
   [4, 7, 1],
   [2, 8, 3],
   [5, 6, 9]
]

तब आउटपुट होना चाहिए -

const output = 9;

आउटपुट स्पष्टीकरण

क्योंकि सभी मान्य पथ हैं -

4, 8, 9 4, 8, 6 4, 3, 6 4, 3, 5
7, 2, 6 7, 2, 9 7, 3, 6 7, 3, 5
1, 2, 6 1, 2, 9 1, 8, 9 1, 8, 5

और इन सभी में से, [1, 2, 6] का योग सबसे कम 9 है।

उदाहरण

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

const arr = [
   [4, 7, 1],
   [2, 8, 3],
   [5, 6, 9]
]
const minimumPathSum = (arr = []) => {
   let first = [0, null];
   let second = [0, null];
   for(let row = arr.length - 1; row >= 0; row--){
      let curr1 = null;
      let curr2 = null;
      for(let column = 0; column < arr[row].length; column++){
         let currentSum = arr[row][column];
         if(column !== first[1]){
            currentSum += first[0];
         }else{
            currentSum += second[0];
         };
         if(curr1 === null || currentSum < curr1[0]){
            curr2 = curr1;
            curr1 = [currentSum, column];
         }else if(curr2 === null || currentSum < curr2[0]){
            curr2 = [currentSum, column];
         };
      };
      first = curr1;
      second = curr2;
   };
   return first[0];
};
console.log(minimumPathSum(arr));

आउटपुट

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

9

  1. जावास्क्रिप्ट चलो

    2015 में पेश किया गया जावास्क्रिप्ट लेट कीवर्ड हमें ब्लॉक स्कोप्ड वेरिएबल्स को परिभाषित करने की अनुमति देता है। जावास्क्रिप्ट में Let कीवर्ड का उपयोग करके वेरिएबल घोषित करने के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .नमूना{

  1. जावास्क्रिप्ट में कॉन्स्ट बनाम लेट।

    Const and let को ES2015 में ब्लॉक स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि लेट का उपयोग करके घोषित चर को पुन:असाइन किया जा सकता है, यदि उन्हें कॉन्स का उपयोग करके घोषित किया गया है तो उन्हें पुन:असाइन नहीं किया जा सकता है। जावास्क्रिप्ट में लेट और कॉन्स्ट दिखाने वाला कोड निम्नलिखित ह

  1. एक शर्त के साथ एक जावास्क्रिप्ट सरणी में शामिल होना?

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