去哪儿前端笔试

#去哪儿旅行秋招# rt
第一题签到题,数组排序后从索引0开始一个个删,通过率低,死活AC不了
第二题手写Promise,AC
第三题,我的思路是判断两个字符串是否互为倒序,是则相消,再对剩下的字符串判断,通过率30多,报了超时,有无大佬解答?
const map = new Map()
const res = []
arr.forEach((value,index) => {
    if(map.has(value)){
        res.unshift(map.get(value) + 1)
        res.push(index + 1)
        map.delete(value)
    }else {
        map.set(value.split('').reverse().join(''),index)
    }
})
if(map.size === 0){
    console.log(res.join(' '))
}else{
    if(map.size === 1){
        const mid = map.values().next().value + 1
        res.splice(res.length / 2,0,mid)
        console.log(res.join(' '))
    }else {
        console.log(-1)
    }
}
全部评论
感觉我第三题的思路没问题啊,这时间复杂度也不像是会超时的样子😭
点赞 回复 分享
发布于 09-06 20:49 北京
第一题我也是测试都对,结果通过率就是很低
点赞 回复 分享
发布于 09-06 21:21 河南
北京农商银行
校招火热招聘中
官网直投
第一题排序能过,但是第三题我也是狠狠超时,怀疑题有问题....
点赞 回复 分享
发布于 09-07 08:25 浙江
应该是需要用字符串哈希加速
点赞 回复 分享
发布于 09-07 20:51 湖北
要对字符串哈希,不然比较字符串要需要o(m)
点赞 回复 分享
发布于 09-08 15:20 北京

相关推荐

1 2 评论
分享
牛客网
牛客企业服务