iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 23
0
Software Development

用JS來刷刷HackerRank系列 第 23

(26)HackerRank-Interview-Dictionaries and Hashmaps-Two Strings(javaScript ans)

題目
two-strings
舉例輸入

2
hello
world
hi
world

舉例輸出

YES
NO

解析
這題相當單純
就純粹看S1的字元S2有沒有
如果有則回傳yes沒有則回傳NO
那我們把上次寫的字典拿來快速遍歷
讓s2的遍歷只需要做一次,接下來用kv方式查找

function twoStrings(s1, s2) {
    let result = false;
    let wordBook = toWordBook(s1);
    s2.split('').some(word => {
        if (wordBook[word] !== undefined) {
            result = true;
            return true;
        }
    });
    return result ? "YES" : "NO"
}

function toWordBook(source) {
    let sArr = Array.isArray(source) ? source : source.split('');
    let wordBook = {}
    sArr.forEach(word => {
        wordBook[word] = wordBook[word] ? wordBook[word] + 1 : 1;
    });
    return wordBook
}
 

上一篇
(23)HackerRank-Interview-Arrays-New Year Chaos(javaScript ans)
下一篇
(27)HackerRank-Interview-Dictionaries and Hashmaps-Sherlock and Anagrams(javaScript ans)
系列文
用JS來刷刷HackerRank29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言