当前位置: 首页 > 面试经验 >

360笔试E卷0827前端

优质
小牛编辑
88浏览
2023-03-28

360笔试E卷0827前端

40道选择题,2道编程题(老师捞我和组队吃鸡)
整体来说,比较简单,正好适合我这样的选手

两道编程题都ac了,下面简单写一下
编程题代码是回忆的,不是当时写的,不一定对, 但是思路应该没错

1. 老师捞我
      题目:已知期末成绩  f , 平时分占比 p , 期末成绩占比q。 总成绩等于  :(平时分占比 * 平时分)+ ( 期末成绩占比 * 期末成绩 
       及格标准是总成绩大于等于60。现在给每个同学打平时分,要求在期末成绩越高,平时分越高的前提下使及格的人数最多
       思路:期末成绩从大到小排序,给第一个也就是成绩最高的平时分打100分,遍历期末成绩,遇到后成绩不等于前一个成绩的,平时分就减一

const [n,p,q] = read_line().split(" ").map((item)=>parseInt(item))
const score = read_line().split(" ").map((item)=>parseInt(item))

score.sort((a,b)=>b-a)
let normal = 100
let ans = 0
for(let i=0;i<n;i++){
    if(i>0 && score[i]!=socre[i-1]){
        normal--
    }
    let last = normal*p/100 + score[i]*q/100
    if(last>=60){
        ans++
    }
}
console.log(ans)


2. 组队吃鸡
    题目:A表示 1 个人队伍,B表示 2 个人队伍, C表示 3 个人, D表示4个人的队伍。可以任意将一个队伍加入到另一个队伍,产生一个新队伍,
            但是人数不能大于4, 也不拆队,必须整体加入。 求4个人的队伍最多有多少个
    思路: D的队伍不需要动,结果直接加入D的个数; C的队伍只能和A结合,结果加他们的较小者就好了; A减去和C结合的个数后,A,B之间可以任意组合,结果加入 Math.floor(A+2*B)/4
const n = parseInt(read_line())

for(let i=0;i<n;i++){
    let arr = read_line().split(" ").map((item)=>parseInt(item))
    let res = arr[3]
    let r1r3 = Math.min(arr[0],arr[2])
    res += r1r3
    arr[0] -= r1r3
    res += Math.floor((arr[0]+arr[1]*2)/4)
    console.log(res)
}



    


#360笔试#
 类似资料: