longest()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
nc 1
nop 2
dl 0
loc 8
rs 10
c 0
b 0
f 0
1
<?php
2
/*
3
Take 2 strings s1 and s2 including only letters from ato z. Return a new sorted string, the longest possible, 
4
containing distinct letters, each taken only once - coming from s1 or s2.
5
6
Examples:
7
8
a = "xyaabbbccccdefww"
9
b = "xxxxyyyyabklmopq"
10
longest(a, b) -> "abcdefklmopqwxy"
11
12
a = "abcdefghijklmnopqrstuvwxyz"
13
longest(a, a) -> "abcdefghijklmnopqrstuvwxyz"
14
*/
15
16
function longest($stringone, $stringtwo)
17
{
18
    $combinedString = $stringone . $stringtwo;
19
    $stringonerrayString = str_split($combinedString);
20
    $stringonerrayString = (array)$stringonerrayString;
21
    $uniqueString = array_unique($stringonerrayString);
22
    sort($uniqueString);
23
    return implode($uniqueString);
24
}
25
26
// Alternate solution
27
28
function altlongest($stringone, $stringtwo)
29
{
30
    $stringToSplit = str_split($stringone . $stringtwo);
31
    $stringToSplit = (array)$stringToSplit;
32
    $chars = array_unique($stringToSplit);
33
    sort($chars);
34
    return implode('', $chars);
35
}
36