Javascript中的“PermMissingElem”解决方案
一个编码问题要求在零索引数组A中找到丢失的数字,该数组由N个不同的整数组成。Javascript中的“PermMissingElem”解决方案
E.g.
Arr[0] = 2 Arr[1] = 3
Arr[2] = 1
Arr[3] = 4
Arr[4] = 6
我先前提交的第一排序阵列,然后执行一个foreach函数返回值1,其中元件之间的阵列差大于1的溶液,然而,这并没有得到的100点。
有没有办法改善这一点?
回答:
使用该功能获取正确性和性能100
function solution(A) { // write your code in JavaScript (Node.js 4.0.0)
var size = A.length;
var sum = (size + 1) * (size + 2)/2;
for (i = 0; i < size; i++) {
sum -= A[i];
}
return sum;
}
回答:
尝试利用Math.min
,Math.max
,while
环
var Arr = []; Arr[0] = 2
Arr[1] = 3
Arr[2] = 1
Arr[3] = 4
Arr[4] = 6
var min = Math.min.apply(Math, Arr),
max = Math.max.apply(Math, Arr),
n = max - 1;
while (n > min) {
if (Arr.indexOf(n) === -1) {
console.log(n);
break;
}
--n;
}
回答:
我与我的代码相同的问题:
function solution(A) { var i, next;
A.sort();
next = 1;
for (i=0; i<A.length; i++){
if (A[i] != next) return next;
next++;
}
return next;
}
尽管它的正确性得分为100%,但它在所有性能测试中都返回了错误的答案。
C语言中的相同代码接收100%两个:
int cmpfunc (const void * a, const void * b){ return (*(int*)a - *(int*)b);
}
int solution(int a[], int n) {
int i, next;
qsort(a, n, sizeof(int), cmpfunc);
next = 1;
for (i=0; i<n; i++){
if (a[i] != next) return next;
next++;
}
return next;
}
以上是 Javascript中的“PermMissingElem”解决方案 的全部内容, 来源链接: utcz.com/qa/258401.html