广联达笔试复盘
本彩笔0AC,就两题的思路写了下,本地测试了几个没毛病,但都没通过,想请大佬帮忙看看哪里错了
给点做题的建议也行
第一题
// let str1='WASDWWSAD'
// let str2='WASSWWAAD'
var str1=read_line().trim()
var str2=read_line().trim()
function fn(str1,str2){
let score=0
let len=str1.length
if(len===0) return 0
for(let i=0;i<len;i++){
if(str1[i]===str2[i]){
score+=20
}
if(str1[i]!==str2[i] && score>=10){
score-=10
}
}
return score
}
console.log(fn(str1,str2)) 第二题 // let arr=read_line().split(' ').map(Number)
let arr=[1,2,2,3]
function fn(arr){
if(arr[0]==arr[1] && arr[1]==arr[2] && arr[2]==arr[3]){
return arr[0]*4
}
if(!(arr[0]==arr[1] && arr[1]==arr[2] && arr[2]==arr[3])
&&(arr[0]<=0 || arr[1]<=0 || arr[2]<=0 || arr[3]<=0)){
return -1
}
if(!(arr[0]==arr[1] && arr[1]==arr[2] && arr[2]==arr[3])
&&(arr[0]>0 && arr[1]>0 && arr[2]>0 && arr[3]>0)){
let Max=Math.max(...arr)
let Min=Math.min(...arr)
let i=arr.indexOf(Max)
let j=arr.indexOf(Min)
arr[i]=Max-2
arr[j]=Min+1
console.log(arr)
return fn(arr)
}
}
console.log(fn(arr)) 