पूर्णांकों के एक क्रम को सरणी के रूप में दिया गया है, यह निर्धारित करें कि सरणी से एक से अधिक तत्व को हटाए बिना सख्ती से बढ़ते क्रम को प्राप्त करना संभव है या नहीं।
नोट: अनुक्रम a0, a1, ..., an को सख्ती से बढ़ता हुआ माना जाता है यदि a0 < a1 < ... < an। केवल एक तत्व वाले अनुक्रमों को भी सख्ती से बढ़ता हुआ माना जाता है।
उदाहरण के लिए, अनुक्रम = [1, 3, 2, 1] के लिए, आउटपुट होना चाहिए:
almostIncreasingSequence(sequence) = false.
इस सरणी में ऐसा कोई एक तत्व नहीं है जिसे हटाकर सख्ती से बढ़ता हुआ अनुक्रम प्राप्त किया जा सके।
अनुक्रम = [1, 3, 2] के लिए, आउटपुट होना चाहिए:
almostIncreasingSequence(sequence) = true.
हम सरणी से 3 को हटाकर सख्ती से बढ़ता हुआ अनुक्रम [1, 2] प्राप्त कर सकते हैं। वैकल्पिक रूप से, हम 2 को हटाकर सख्ती से बढ़ता हुआ अनुक्रम [1, 3] प्राप्त कर सकते हैं।
उदाहरण
कोड निम्न होगा:
const arr1 = [3, 5, 67, 98, 3]; const arr2 = [4, 3, 5, 67, 98, 3]; const almostIncreasingSequence = sequence => { let removed = 0; let i = 0; let prev = -Infinity; while(removed < 2 && i < sequence.length) { if(sequence[i] > prev) { prev = sequence[i]; }else{ prev = Math.min(prev, sequence[i]); removed++; } i++; } return removed < 2; }; console.log(almostIncreasingSequence(arr1)); console.log(almostIncreasingSequence(arr2));आउटपुट
कंसोल में आउटपुट निम्न होगा:
true false