---
# System prepended metadata

title: Bài tập 26/02

---

# Bài tập 26/02

## Bài 1

Input: [“arp”, “live”, "strong,“sd3”], [“lively”, “alive”, “harp”, “sharp”, “armstrong”]
Output: [“arp”, “live”, “strong”]

```typescript=
let arr1 = ["arp", "live", "strong","sd3"]
let arr2 = ["lively", "alive", "harp", "sharp", "armstrong"] 

function findCommonStringAppearInArr(arr1: string[], arr2: string[]):string[]{
    let commonStringAppearInArr = arr1.filter(
            value1 => arr2.filter(
                value2 => value2.includes(value1)
            ).some(Boolean)
        );

    return commonStringAppearInArr;
}

console.log(findCommonStringAppearInArr(arr1, arr2));
```

 Bài 2:
 ---
 Input: "ams.AreaMaintain"
 Output: "/area-maintain"
 
 Input: "ams.BuildingAreaKanban"
 Output: "/building-area-kanban"


```typescript=
function calssName2path(input:string):string {
    let className:string = input.split(".")[1];
    let words:string[] = className.split(/(?=[A-Z])/);
    return "/" + words.map(m => m.toLocaleLowerCase()).join("-");
}

console.log(calssName2path("ams.AreaMaintain"));

console.log(calssName2path("ams.BuildingAreaKanban"));
```

Bài 3:
----
Input: ["flower","flow","flight"]
Output: "fl"

Input: ["dog","racecar","car"]
Output: ""

Input: ["dog", "frog", "log"] thí 
Output: "og" 



```typescript=
function findLongestCommonString(arr: string[]):string{
    arr = arr.sort((a, b) => a.length - b.length); // more efficiency

    // find candidates
    let candidates = [];
    for(let i = 1; i <= arr[0].length; i++){ // string length
        for(let j = 0; j < arr[0].length - i + 1; j++) // start position 
            candidates.push(arr[0].slice(j, j+i));
    }

    // filter all appear in arr case
    return candidates.filter(candidate => arr.every(m => m.includes(candidate)))
            .sort((a, b) => b.length - a.length)[0];
}

console.log(
    findLongestCommonString(["flower","flow","flight"])
)

console.log(
    findLongestCommonString(["dog","racecar","car"])
)

console.log(
    findLongestCommonString(["dog", "frog", "log"])
)
```