昨夜、Codility でデモ Equi タスクを見ていて、次の関数で 12/100 を獲得しました。
function solution(A) {
var n = A.length;
var p = 0;
var sum = 0;
var sumLeft = 0;
var sumRight = 0;
var equilExists = 0;
if (n == 0) {
return -1;
}
for (i=0; i<=n; i++) {
sum = A[i];
for (j=0; j<=n; j++) {
if (j < i) {
sumLeft += A[j];
} else if (j > i) {
sumRight += A[j];
}
if (sumLeft == sumRight) {
equilExists = 1;
p = i;
return p;
}
}
}
if (equilExists == 0) {
return -1;
}
}
タスクに慣れていない方は、http://blog.codility.com/2011/03/solutions-for-task-equi.htmlで見つけることができます。
私のソリューションが失敗する場所を誰かが指摘するのを手伝ってくれるかどうか疑問に思っていましたか?
どうもありがとう!