Almost Increasing Sequence
Description
Given a sequence of integers as an array, determine whether it is possible to obtain a strictly increasing sequence by removing no more than one element from the array.
Example
- For
sequence = [1, 3, 2, 1]
, the output should bealmostIncreasingSequence(sequence) = false
;
There is no one element in this array that can be removed in order to get a strictly increasing sequence.
- For
sequence = [1, 3, 2]
, the output should bealmostIncreasingSequence(sequence) = true
.
You can remove 3
from the array to get the strictly increasing sequence [1, 2]
. Alternately, you can remove 2
to get the strictly increasing sequence [1, 3]
.
Input/Output
-
[execution time limit] 4 seconds (js)
-
[input] array.integer sequence
A 2-dimensional array of integers representing a rectangular matrix of the building.
Guaranteed constraints:
1 ≤ matrix.length ≤ 5
,
1 ≤ matrix[i].length ≤ 5
,
0 ≤ matrix[i][j] ≤ 10
.
- [output] integer
The total price of all the rooms that are suitable for the CodeBots to live in.
[JavaScript (ES6)] Syntax Tips
1
2
3
4
5
6
// Prints help message to the console
// Returns a string
function helloWorld(name) {
console.log("This prints to the console when you Run Tests");
return "Hello, " + name;
}
Solution
1
2
3
4
5
6
7
8
9
10
11
function almostIncreasingSequence(seq) {
var bad=0
for(var i=1;i<seq.length;i++) if(seq[i]<=seq[i-1]) {
bad++
if(bad>1) return false
if(seq[i]<=seq[i-2]&&seq[i+1]<=seq[i-1]) return false
}
return true
}