MinAvgTwoSlice   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 5
c 0
b 0
f 0
lcom 0
cbo 0
dl 0
loc 27
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B solution() 0 24 5
1
<?php
2
3
namespace Lesson03;
4
5
class MinAvgTwoSlice
6
{
7
    public function solution($A)
8
    {
9
        $position = 0;
10
        $count = count($A);
11
        $minAvg = ($A[0] + $A[1]) / 2;
12
13
        for ($p = 0; $p < $count - 1; $p++) {
14
            $avg = ($A[$p] + $A[$p + 1]) / 2;
15
            if ($avg < $minAvg) {
16
                $minAvg = $avg;
17
                $position = $p;
18
            }
19
20
            if (isset($A[$p + 2])) {
21
                $avg = ($A[$p] + $A[$p + 1] + $A[$p + 2]) / 3;
22
                if ($avg < $minAvg) {
23
                    $minAvg = $avg;
24
                    $position = $p;
25
                }
26
            }
27
        }
28
29
        return $position;
30
    }
31
}
32