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

JavaScript में लक्ष्य से छोटा सबसे बड़ा आयत योग


समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं के एक 2-D सरणी को पहले आर्गुमेंट के रूप में और एक लक्ष्य योग संख्या को दूसरे आर्गुमेंट के रूप में लेता है।

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

फ़ंक्शन को अंत में वह सबसे बड़ा योग वापस करना चाहिए। उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const arr = [ 
  [1, 0, 1], 
  [0, -2, 3] 
]; 
const num = 2;

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

const output = 2;

आउटपुट व्याख्या:

क्योंकि सबसे छोटा आयत है -

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

उदाहरण

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

const arr = [ 
  [1, 0, 1], 
  [0, -2, 3] 
]; 
const num = 2; 
const maxSum = (arr = [], num = 1) => { 
  const rows = arr.length; 
  const cols = arr[0].length; 
  let maxSum = -Infinity; 
  for(let l = 0; l < rows; l++) { 
    const dp = Array(cols).fill(0); 
    for(let r = l; r < rows; r++) { 
      let sum = 0, max = -Infinity; 
      for(let c = 0; c < cols; c++) { 
        dp[c] += arr[r][c]; 
        if(sum < 0) sum = 0; 
        sum += dp[c]; 
        max = Math.max(max, sum); 
      } 
      if(max <= num) maxSum = Math.max(max, maxSum); 
      else { 
        max = -Infinity; 
        for(let c = 0; c < cols; c++) { 
          sum = 0; 
          for(let d = c; d < cols; d++) { 
            sum += dp[d]; 
            if(sum <= num) max = Math.max(sum, max); 
          } 
        } 
        maxSum = Math.max(max, maxSum); 
      } 
      if(maxSum === num) return num; 
    } 
  } 
  return maxSum; 
}; 
console.log(maxSum(arr, num));

आउटपुट

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

2

  1. JavaScript में आयत में सभी वर्गों के पेरिमीटर का योग JavaScript में आयत में सभी वर्गों के पेरिमीटर का योग

    समस्या मान लीजिए एक आयत के अंदर 5 वर्ग इस तरह एम्बेडेड हैं −उनका पेरिमीटर होगा −4 + 4 + 8 + 12 + 20 = 48 यूनिट्सहमें एक JavaScript फ़ंक्शन लिखना है जो एक संख्या n लेता है और n वर्ग एम्बेडेड होने पर पेरिमीटर का योग लौटाता है।उदाहरणनिम्नलिखित कोड है − { const arr = [1,1]; let n = 0;

  1. - JavaScript में मोनोटोन अंकों वाली ठीक छोटी संख्या

    मोनोटोनिकली बढ़ते अंक एक पूर्णांक के मोनोटोन बढ़ते अंक होते हैं यदि और केवल यदि आसन्न अंकों का प्रत्येक जोड़ा x और y, x <= y को संतुष्ट करता है। समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो एक संख्या, num, को पहला और एकमात्र तर्क के रूप में लेता है। हमारे फ़ंक्शन को बस उस सबसे बड़ी संख्या को ढूंढन

  1. - C++ में N से छोटी या बराबर K से विभाज्य सबसे बड़ी संख्या

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो वह संख्या ढूंढता है जो N से छोटी या बराबर है और k से विभाज्य है। आइए समस्या को हल करने के चरण देखते हैं। संख्याएं n और k आरंभ करें। मॉड्यूलो ऑपरेटर के साथ शेषफल ज्ञात करें। यदि शेषफल शून्य है, तो n वापस करें। अन्यथा n - शेषफल वापस करें। उदाह