去哪儿前端笔试
#去哪儿旅行秋招# 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)
}
}
第一题签到题,数组排序后从索引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)
}
}
全部评论
感觉我第三题的思路没问题啊,这时间复杂度也不像是会超时的样子😭
第一题我也是测试都对,结果通过率就是很低
北京农商银行
官网直投
第一题排序能过,但是第三题我也是狠狠超时,怀疑题有问题....
应该是需要用字符串哈希加速
要对字符串哈希,不然比较字符串要需要o(m)
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享