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

जावास्क्रिप्ट में एक मैट्रिक्स में 1s की सबसे लंबी लाइन ढूँढना

<घंटा/>

मान लीजिए, हमारे पास एक बाइनरी मैट्रिक्स है (सरणी की एक सरणी जिसमें केवल 0 या 1 होता है) -

const arr =[ [0,1,1,0], [0,1,1,0], [0,0,0,1]];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में एक ऐसे मैट्रिक्स को लेता है।

हमारे फ़ंक्शन का कार्य मैट्रिक्स में लगातार लोगों की सबसे लंबी लाइन ढूंढना है और इसमें 1s की गिनती वापस करना है। रेखा क्षैतिज, लंबवत, विकर्ण या विरोधी विकर्ण हो सकती है।

उदाहरण के लिए, उपरोक्त सरणी के लिए, आउटपुट होना चाहिए -

कॉन्स्ट आउटपुट =3

क्योंकि सबसे लंबी लाइन वह है जो arr[0][1] से शुरू होती है और तिरछे −

तक फैली होती है <पूर्व>गिरफ्तारी[2][3]

उदाहरण

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

const arr =[ [0,1,1,0], [0,1,1,0], [0,0,0,1]]; const longLine =(arr =[]) => { अगर (! गिरफ्तारी। लंबाई) {वापसी 0; } चलो पंक्तियाँ =arr.length, cols =arr[0].length; लेट रेस =0; कॉन्स्ट डीपी =ऐरे (पंक्तियां)। भरें ([]); dp.forEach((el, ind) => {dp[ind] =Array(cols).fill([]); dp[ind].forEach((undefined, subInd) => {dp[ind][subInd] =ऐरे (4)। भरें (शून्य);});}); के लिए (चलो i =0; i <पंक्तियाँ; i++) { के लिए (चलो j =0; j  0? डीपी [i] [जे -1] [0] + 1:1; डीपी [i] [जे] [1] =मैं> 0? डीपी [i - 1] [जे] [1] + 1:1; डीपी [i] [जे] [2] =(i> 0 &&j> 0) ? डीपी [i - 1] [जे -1] [2] + 1:1; dp[i][j][3] =(i> 0 &&j  

आउटपुट

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

3

  1. जावास्क्रिप्ट का उपयोग करके एक स्ट्रिंग में सबसे लंबे स्वर सबस्ट्रिंग की लंबाई ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है। हमारे फ़ंक्शन को सबसे लंबे सन्निहित विकल्प की लंबाई लौटानी चाहिए जिसमें केवल स्वर हों। उदाहरण निम्नलिखित कोड है - { let cur =0 let max =0 for (let i =0; i आउटपुट 4

  1. जावास्क्रिप्ट में लगातार सबसे लंबे समय तक जुड़ने का पता लगाना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं के जोड़े की एक सरणी लेता है, एआर, पहले और एकमात्र तर्क के रूप में। प्रत्येक जोड़ी में, पहली संख्या हमेशा दूसरी संख्या से छोटी होती है। अब, हम एक युग्म (c, d) को परिभाषित करते हैं जो किसी अन्य युग्म (a, b) का अनुसरण कर सकता है यदि और

  1. C++ में मैट्रिक्स में लगातार एक की सबसे लंबी लाइन

    मान लीजिए कि हमारे पास एक बाइनरी मैट्रिक्स एम है, हमें उस मैट्रिक्स में लगातार एक की सबसे लंबी लाइन ढूंढनी है। रेखा क्षैतिज, लंबवत, विकर्ण या विरोधी विकर्ण हो सकती है। तो, अगर इनपुट पसंद है 0 1 1 0 0 1 1 0 0 0 0 1 तो आउटपुट 3 . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - रिट:=0