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.minMath.maxwhile

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

回到顶部