【前端面試】2020字節跳動提前批牛客網筆試

1. 輸入一個區間【l,r】,請問裏面有沒有能組成三角形三邊的三個數。思考了四十分鐘,最後發現其實大於一的連續整數都行,例如(2,3,4)

// 根據三角形三邊關係
// abc分別爲從短到長
// 兩短邊之和大於長邊
// 1 和誰都組不了
var line=readline();
var lines = line.split(" ");
var left = parseInt(lines[0]);
var right = parseInt(lines[1]);

function matchesGirl(l, r){
    let a = l,b,c;
    if(a === 1){
        a = 2;
    }
    if(a + 1 <= r){
        b = a + 1;
    }else{
        print("NO");
        return;
    }
    if(a + 2 <= r){
        c = a + 2;
    }else{
        print("NO");
        return;
    }
    print("YES");
    print(a + " " + b + " " + c);
}

matchesGirl(left,right)

2. 字符串解密問題,一個單詞奇數位抽出來做前半部分,偶數位倒序後做後半部分,拼接起來,形成一個串,你要解密出原來的字符串。加密過程 “Welcome” --》 “wloe” + “mce”,你要做加密算法。

// 倒序
function reverse(str){
    var result = '';
    for(let k = str.length - 1; k >=0; k--){
        result += str[k];
    }
    return result;
}
// 解碼
function _decode(word){
    var len = word.length;
    var mid = Math.floor((len-1)/2);
    var left = word.slice(0,mid + 1);
    var right = reverse(word.slice(mid + 1));
    // 解碼
    var result = "";
    for(let j = 0; j < left.length; j++){
        result += left[j];
        if(j < right.length){
            result += right[j];
        }
    }
    return result;
}

var n = parseInt(readline());
var lines = readline().split(" ");
var res = lines.map(d => _decode(d)).join(" ");
// 打印輸出
print(res);

3. 沒讀懂,應用題

4. 沒讀懂,二叉樹

5. 讀懂了不會。香檳塔,從最上面開始倒酒,問(i,j)個酒杯被倒滿需要多少杯酒。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章