इंटीजर के अनुक्रम को एरे के रूप में देखते हुए, हमें यह निर्धारित करना है कि क्या एरे से एक से अधिक तत्व को हटाए बिना सख्ती से बढ़ती हुई श्रृंखला प्राप्त करना संभव है।
उदाहरण के लिए -
sequence = [1, 3, 2, 1] के लिए, आउटपुट होना चाहिए function(sequence) = false। इस एरे में ऐसा कोई एक तत्व नहीं है जिसे हटाकर सख्ती से बढ़ती हुई श्रृंखला प्राप्त की जा सके।
sequence = [1, 3, 2] के लिए, आउटपुट होना चाहिए function(sequence) = true। आप एरे से 3 को हटाकर सख्ती से बढ़ती हुई श्रृंखला [1, 2] प्राप्त कर सकते हैं। वैकल्पिक रूप से, आप 2 को हटाकर सख्ती से बढ़ती हुई श्रृंखला [1, 3] प्राप्त कर सकते हैं।
सख्ती से बढ़ती हुई श्रृंखला
यह एक गणितीय शब्द है जो संख्याओं की एक व्यवस्था को दर्शाता है जहां प्रत्येक अगली संख्या अपनी पिछली संख्या से अधिक होती है। इसके अलावा बढ़ती हुई श्रृंखला मौजूद होती है जहां अगला तत्व पिछले तत्व से अधिक या बराबर होता है।
यही तर्क घटती हुई श्रृंखला और सख्ती से घटती हुई श्रृंखला के लिए लागू होता है।
दृष्टिकोण
हम एरे पर लूप करेंगे यह जांचते हुए कि क्या अगला तत्व पिछले तत्व से अधिक है या नहीं। यदि यह अधिक है, तो यह हमारे लिए ठीक है, लेकिन यदि यह अधिक नहीं है (याद रखें यह अधिक होना चाहिए न कि अधिक या बराबर क्योंकि हम सख्ती से बढ़ती हुई श्रृंखला बनाना चाहते हैं) हम unwantedElements की गिनती रखेंगे और हर बार ऐसा होने पर इसे 1 से बढ़ाएंगे।
यदि पुनरावृत्ति के दौरान, गिनती 1 से अधिक हो जाती है, तो हम वहीं false लौटाते हैं अन्यथा यदि हम unwantedElements <= 1 के साथ पूरे एरे से गुजरते हैं, तो हम true लौटाते हैं।
इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखते हैं -
उदाहरण
const isStrictlyIncreasing = (arr) => { let unwantedElements = 0; for(let i = 0; i < arr.length - 1; i++){ if(arr[i] >= arr[i+1]){ unwantedElements++; if(unwantedElements > 1){ return false; }; }; }; return true; }; console.log(isStrictlyIncreasing([1, 3, 2, 1])); console.log(isStrictlyIncreasing([1, 3, 2]));आउटपुट
कंसोल में आउटपुट होगा -
false true