携程前端 复盘
有没有老哥帮忙看一下代码哪里不对?万分感谢
第一题 对称字符 83%
function fn(str){
if(str.length===0)return
let arr=str.split('')
let set=new Set(arr)
arr=[...set].sort()
let L=0
let R=arr.length-1
let res=0
while(L<R){
let Left=arr[L].charCodeAt()
let Right=arr[R].charCodeAt()
if((Left+Right)===219){
res++
}
L++
R--
}
return res
}
let str='aazzyb'
console.log(fn(str)) 第二题:题目都没看懂,放弃 第三题:背包问题 20%
let Evalue=[8,4,6]
let Tcost=[3,1,2]
let Time=[4,2,2]
let k=3
function fn(Evalue,Tcost,Time,k){
let M=Math.max(...Time)
const dp=(new Array(M+1)).fill(0)
for(let j=0;j<k;j++){
let item =Time[j] //某一事件
for(let i=M;i>=Tcost[j];i--){
dp[i]=Math.max(dp[i],dp[i-Tcost[j]]+Evalue[j])
}
}
return dp[M]
}
console.log(fn(Evalue,Tcost,Time,k)) 携程让我认识到菜逼还是那个菜逼