Skip to content

Commit edb9105

Browse files
Create 0665-non-decreasing-array.scala
1 parent 0cb22b5 commit edb9105

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

scala/0665-non-decreasing-array.scala

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
object Solution {
2+
def checkPossibility(nums: Array[Int]): Boolean = {
3+
@scala.annotation.tailrec
4+
def helper(i: Int = 1, mismatch: Int = 0, last: Int = nums.head): Boolean =
5+
if (i == nums.length) true
6+
else if (nums(i) >= last) helper(i + 1, mismatch, nums(i))
7+
else if (mismatch > 0) false
8+
else if (i == nums.length - 1) true
9+
else if (nums(i - 1) <= nums(i + 1)) helper(i + 1, mismatch + 1, nums(i))
10+
else if (i == 1 && nums(i) <= nums(i + 1)) helper(i + 1, mismatch + 1, nums(i))
11+
else if (i > 1 && nums(i - 2) <= nums(i)) helper(i + 1, mismatch + 1, nums(i))
12+
else false
13+
14+
helper()
15+
}
16+
}

0 commit comments

Comments
 (0)