百度前端笔试9.13

单选+多选+编程3题

哎...前面还做了一个笔试...留给百度的时间只有1小时10分钟...

编程1:baidu串(100%)

思路:纯暴力,没啥好说的!只要胆子大,暴力都不怕!

const str = readline();
console.log(fn1(str));
function fn1(str) {
    if (str.length < 5) return 0;
    let res = 0;
    for (let i = 0; i < str.length-4; i++) {
        let temp = str.slice(i, i+5);
        if (isValid(temp)) {
            res++;
        }
    }

    return res;
}


function isValid(str) {
    const arr = ['a', 'e', 'i', 'o', 'u'];
    if ([...new Set([...str])].length < 5) return false;
    if (arr.includes(str[1]) && arr.includes(str[2]) && arr.includes(str[4]) && !arr.includes(str[0]) && !arr.includes(str[3])) {
        return true;
    } else {
        return false;
    }
}

编程2:01串(100%)

思路:观察0和1的个数

const q = parseInt(readline());

for (let i = 0; i < q; i++) {
    let str = readline();
    fn2(str) ? console.log('Yes') : console.log('No')
}


function fn2(str) {
    let arr = [...str].map(item => parseInt(item));
    if ([...new Set(arr)].length === 1) return true;

    let count_1 = 0;
    let count_0 = 0;
    for (let item of arr) {
        item === 1 ? count_1 += 1 : count_0 += 1;
    }

    if (count_1 % 2 === 0 || count_0 % 2 === 0) {
        return true;
    } else {
        return false;
    }
}

编程3:踏前斩(5%)

思路:(数组求和sum-最大可减去[1,2,3]个数*6) + 最大可减去[1,2,3]个数*5
来不及做了...随便console.log了一下...

#百度笔试##前端#
全部评论
第二题00001不可以吧?
点赞 回复 分享
发布于 2022-09-13 21:23 上海
第二题为什么是那样做的呀
点赞 回复 分享
发布于 2022-09-13 21:29 浙江
第一题一直过68%
点赞 回复 分享
发布于 2022-09-13 22:25 浙江
第一题一直是45% 第二题秒了,第一题真的是折磨,第三题直接放弃了
点赞 回复 分享
发布于 2022-09-14 10:30 广东

相关推荐

11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
object3:开始给部分🌸孝子上人生第一课了
点赞 评论 收藏
分享
4 6 评论
分享
牛客网
牛客企业服务