我正在 codility.com 上执行任务,但出现超时错误。代码和任务描述如下。
任务的文本(阵列被初始化):class Solution { public int solution(int[] A); }即,给定阵列A的N整数,返回不发生在最小的正整数(大于0) A。
例如,给定A = [1, 3, 6, 4, 1, 2],函数应该返回5。鉴于A = [1, 2, 3],该函数应该返回4。鉴于A = [−1, −3],该函数应该返回1。
为以下假设编写一个有效的算法:N是 [1..100,000] 范围内的整数;数组的每个元素A都是 [−1,000,000..1,000,000] 范围内的整数。
class Solution {
public int solution(int[] A) {
int k;
for (int i = 1;; i++) {
final int j = i;
if (!Arrays.stream(A).anyMatch(x -> x != j)) {
k = j;
break;
}
}
return k;
}
}
茅侃侃
绝地无双
波斯汪
相关分类