forked from dylansun/leetcode-cn-scala
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNo665.scala
47 lines (43 loc) · 1.07 KB
/
No665.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
object No665 {
def checkPossibility(nums: Array[Int]): Boolean = {
for(i <- 0 to (nums.length - 2)){
/**if (nums(i) > nums(i+1)){
val temp = nums(i + 1)
nums(i+1) = nums(i)
if(nums.equals(nums.sorted))
}**/
}
false
}
def checkPossibility2(nums: Array[Int]): Boolean = {
var tol = true
for(i <- 0 to nums.length - 2 if nums(i) > nums(i + 1)){
if(tol){
if(i == 0)
nums(i) = nums(i + 1)
else if(i == nums.length -2)
nums(i + 1) = nums(i)
else{
if( nums(i-1) <= nums(i) && nums(i) <= nums(i+2))
nums(i+1) = nums(i)
else if( nums(i-1) <= nums(i+1) && nums(i+1) <= nums(i+2))
nums(i) = nums(i+1)
else
return false
}
tol = false
}
else{
return false
}
}
return true
}
def main(args: Array[String]): Unit = {
/** a > b >c
a >b c > d **/
val s = Array(2,3,3,2,4)
val res = checkPossibility(s)
println(res)
}
}