iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
0
Software Development

用JS來刷刷HackerRank系列 第 17

(18)HackerRank-Interview -Warm-up Challenges-Jumping on the Clouds(javaScript ans))

題目
Jumping on the Clouds
舉例輸入

7
0 0 1 0 0 1 0

舉例輸出

4


舉例輸入

6
0 0 0 0 1 0

舉例輸出

3

解析
看官方的圖片解析也是相當清楚
題旨大概就是:遍歷一個陣列
一次最多可以往前兩個元素
但指針所停止的元素不可為1

請問這個陣列指針需要移動幾次才可完成?

從題目可知道我們並不知道有幾朵雲
但可以知道下個資料為何
因此我們就偵測,如果兩個後的元素不是1就指針跳2
如果是1就指針跳1
再檢查跳過去之後有沒有跳完,如果到終點就不跳

function jumpingOnClouds(c) {
    //HackerRank有時候傳字串有時候陣列
    c = Array.isArray(c) ? c : c.split(' ');
    //還沒踏出
    let stepCount = 0;
    // 站在第0個位置
    let path = 0;
    //直接跨出第一步
    while (path < c.length) {
        if (c[path + 2] == 0) {
            path += 2;
        } else {
            path += 1;
        }
        if (c[path] !== undefined) {
            stepCount += 1;
        }
    }
    return stepCount
}

上一篇
(17)HackerRank-Interview -Warm-up Challenges-Counting Valleys(javaScript ans)
下一篇
(19)HackerRank-Interview -Warm-up Challenges-Repeated String(javaScript ans)
系列文
用JS來刷刷HackerRank29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言