c*******a 发帖数: 1879 | 1 那道数组单调性判断题,
竟然还有一帮自称是刷40万年薪的人都做错, 还以为自己做的对,FB都会默默据掉你
们。
不管你们说的是循环一遍,还是走两遍, 你们的那些算法都是永远两倍的比较运算,
一遍的是每次比较两次, 两遍的每次比较一次。这个都看不清真是刷傻了。
就举一个例子吧, 比如 9, 10, 8,7,6,5,4,3,2,1
你们的算法都必须走完整个数组(脱裤子放屁), 不能提前结束。 这个就连会数数的
小孩子看到第上三个数就马上告诉答案了。
你们真丢人。 |
t****b 发帖数: 2484 | |
t****b 发帖数: 2484 | 3 private bool isInc (int[] array) {
for(int i=0;i
if(array[i]>array[i+1]) return false;
}
return true;
}
public bool isMono (int[] array) {
return isInc(array) || isInc(array.reverse());
}
顺便楼主看下我这个何如 |
c*******a 发帖数: 1879 | 4 你真应该学习。
什么叫worst case, average case, best case etc.
整天叫嚣刷题拿40 万, 你真丢人。
【在 t****b 的大作中提到】 : 建议楼主去学一下什么是复杂度
|
D**********0 发帖数: 1022 | 5 那你快写个好的教教我们。
【在 c*******a 的大作中提到】 : 你真应该学习。 : 什么叫worst case, average case, best case etc. : 整天叫嚣刷题拿40 万, 你真丢人。
|
u**u 发帖数: 668 | 6 走一遍要如果停在中间结束就知道不是递增,也不是递减
是要用两个flags:严格递增,严格递减?
其实走两遍挺好的,复杂度没差 |
m******e 发帖数: 82 | 7 比较头尾数字,可以得出增或减或相等,定义3个bool predictor,循环的时候用指定
predictor即可,楼主以为如何 |
t****b 发帖数: 2484 | 8 不够优雅
都不如我的扫两遍 没有bool变量
【在 m******e 的大作中提到】 : 比较头尾数字,可以得出增或减或相等,定义3个bool predictor,循环的时候用指定 : predictor即可,楼主以为如何
|
|
z*********n 发帖数: 1451 | 9
你这个肯定不符合lz要求,按lz例子,你第二遍得从尾扫到头。这还没完,你reverse
本身也相当于扫一遍了。还是有个flag的好。扫3个就停了。
【在 t****b 的大作中提到】 : private bool isInc (int[] array) { : for(int i=0;i: if(array[i]>array[i+1]) return false; : } : return true; : } : public bool isMono (int[] array) { : return isInc(array) || isInc(array.reverse()); : } : 顺便楼主看下我这个何如
|
r*****s 发帖数: 1815 | |
D**********0 发帖数: 1022 | 11 代码整洁,逻辑清晰。Strong Hire.
【在 t****b 的大作中提到】 : private bool isInc (int[] array) { : for(int i=0;i: if(array[i]>array[i+1]) return false; : } : return true; : } : public bool isMono (int[] array) { : return isInc(array) || isInc(array.reverse()); : } : 顺便楼主看下我这个何如
|