Web Projects Consulting

NumberOfDiscIntersections (beta2010) Demo Task at Codility.com

codility netbeansLesson 4 – Sorting – NumberOfDiscIntersections (beta2010) demo task solution code written in php. Gives 100/100 score at the time of publishing. The description of the problem is copyrighted, so please see the following link for it: //codility.com/demo/take-sample-test/triangle

Solution in php:

function solution($A) {
$result = 0;
$cnt = count($A);
$dps = array_fill(0, $cnt, 0);
$dpe = array_fill(0, $cnt, 0);
for ($i = 0; $i < $cnt; $i++){
$dps[max(0, $i - $A[$i])]++;
$dpe[min($cnt - 1, $i + $A[$i])]++;
}
$t = 0;
for ($i = 0; $i < $cnt; $i++){
if ($dps[$i] > 0){
$result += $t * $dps[$i];
$result += $dps[$i] * ($dps[$i] - 1) / 2;
if($result > 10000000){
return -1;
}
$t += $dps[$i];
}
$t -= $dpe[$i];
}
return $result;
}

Given “AS IS”, can be ported from other languages from solutions found on the internet, please use with care.

Please note: we think that codility.com does not give a correct assessment of your real-world programming skills. For instance, reading the below would bring more understanding why: //codility-test-questions.blogspot.com/2013/01/my-experience-with-codility-test.html

One thought on “NumberOfDiscIntersections (beta2010) Demo Task at Codility.com

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.