Codility 心得 短評

Bear熊
2 min readApr 10, 2017

--

無聊做 codility

有一題Easy的題目要Debug

大意是說有一個數列已經排序好 請你回答此數列中某一個數是否有超過一半( 如果array size是10 就要重複出現超過 5 , 剛好5次不算)

import java.util.*; 
class Solution {
int solution(int[] A) {
int n = A.length;
int[] L = new int[n + 1];
L[0] = -1;
for (int i = 0; i < n; i++) {
L[i + 1] = A[i];
}
int count = 0;
//int pos = (n + 1) / 2;
int pos = (n / 2) +1;
int candidate = L[pos];
for (int i = 1; i <= n; i++) {
if (L[i] == candidate)
count = count + 1;
}
//if (count > pos)
if (count >= pos)
return candidate;
return (-1);
}
}

另外有一題是 Deepest Pit

雖然難度只有中等,但是測資跟題目其實變化還是蠻多的。

有個老外的code看起來都蠻對的,結果交出去那題只有 73% (正確率 66% performance 83%)

extreme_no_pit, extreme_depth( 200000000 有到這麼大...), no pit, one pit, `vulcano’ shape, retries….

一堆case...可見coding的細心程度需要多高

看到自己會被這樣量化覺得有趣又可怕,擔心自己未來若真的遇到到底能做到幾分..

不過還是別想這麼多繼續努力吧。

找時間來改看看,說不定能夠達到100%的準確度

--

--

Bear熊
Bear熊

No responses yet