SingleNumber   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 7
eloc 16
c 2
b 0
f 0
dl 0
loc 30
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A singleNumber2() 0 11 3
A singleNumber() 0 15 4
1
<?php
2
3
declare(strict_types=1);
4
5
namespace leetcode;
6
7
class SingleNumber
8
{
9
    public static function singleNumber(array $nums): int
10
    {
11
        if (empty($nums)) {
12
            return 0;
13
        }
14
        [$map, $n] = [[], count($nums)];
15
        for ($i = 0; $i < $n; $i++) {
16
            if (isset($map[$nums[$i]])) {
17
                unset($map[$nums[$i]]);
18
            } else {
19
                $map[$nums[$i]] = $i;
20
            }
21
        }
22
23
        return current(array_keys($map));
24
    }
25
26
    public static function singleNumber2(array $nums): int
27
    {
28
        $ans = 0;
29
        if (empty($nums)) {
30
            return $ans;
31
        }
32
        foreach ($nums as $num) {
33
            $ans ^= $num;
34
        }
35
36
        return $ans;
37
    }
38
}
39