广联达笔试复盘

本彩笔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))




#笔试题目##广联达#
全部评论
第一个小于10是会变为0的,你这都没变吧
点赞 回复 分享
发布于 2020-08-26 23:13
题目是啥,我也想坐坐
点赞 回复 分享
发布于 2020-08-26 23:41
楼主有试试在线自测能过去吗
点赞 回复 分享
发布于 2020-08-27 00:14
第一题我也通不过。。死活想不明白啊
点赞 回复 分享
发布于 2020-08-27 00:35
       int goal = 0;         for (int i = 0; i < target.length(); i++) {             if (target.charAt(i) == real.charAt(i)) {                 goal+=20;             }             if (target.charAt(i)!= real.charAt(i) && goal>0) {                 goal -=10;             }         }         System.out.println(goal); 第一题AC。第二题18。第三题来不及了有一个角标写错了来不及验证结果64.。
点赞 回复 分享
发布于 2020-08-27 13:21
第一题AC,第二题27%,第三题AC......选择题一塌糊涂
点赞 回复 分享
发布于 2020-08-27 14:26

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
评论
点赞
5
分享
牛客网
牛客企业服务