【发布时间】:2017-10-01 15:41:43
【问题描述】:
这是一道面试题。
找出方法的输入数组是升序还是降序。领带将按照当前顺序进行。我的意思是如果其他成员正在增加并且其中一些或等于它的罚款,并且减少元素也是如此。该函数返回真或假。
我是这样做的。我在想是否有另一种但创造性的方式来做到这一点。
boolean isMonotonic(int[] arr){
if(arr.length <= 2){
return true;
}
boolean increasing = true;
boolean decreasing = true;
for (int i=1; i<arr.length; i++){
if (arr[i-1] > arr[i]){
increasing = false;
} else if(arr[i-1] < arr[i]){
decreasing = false;
}
if (!increasing && !decreasing){
return false;
}
}
return true;
}
【问题讨论】:
-
您的解决方案是干净的,只需一次传递数组,我不确定它是否可以更优雅地完成 mucb。将增加 haa 转换为减少的另一种表达方式是跟踪前一个和第二个到上一个移动。
标签: java arrays sortedlist