刚搞完华为OD机试,对用JS的玩家太不友好了

三道题,两简单一难。

第一题

我的答案:
第一题的答案,我的答案应该是满分吧,两个测试用例都通过了,但是提交了 却只有81%的测试覆盖率。是因为我的JS?

// var arrLen = readline()
// var inputArr = readline().split(" ")
// var N = readLine()
// 去重后,排序,检测重叠,取数组首尾
var arrLen = 5
var inputArr = [3,2,3,4,2]
var N = 2

var arr = Array.from(new Set(inputArr))

var targetArr = arr.sort((a,b)=>a-b)

function getOutPut(arrLen,targetArr,N){
    if(2 * N + 1 > targetArr.length){
        console.log(-1)
        return
    }
     var minArr = targetArr.slice(0,N)
     var maxArr = targetArr.slice(targetArr.length - N,targetArr.length)
     var max =0;
     var min = 0;
     maxArr.forEach(item=>{
        max =  max + item
     })
     minArr.forEach(item=>{
        min =  min + item
     })
    console.log(max + min)
}

getOutPut(arrLen,targetArr,N)



第二题

第二题考得动态规划,我tm一个前端还是OD,直接放弃这道题了。

第三题

我的答案:
这个答案有他妈什么问题???? 为什么不给我通过? 为什么运行不出来?复杂度很高??? 我本地随便跑好吗?? 
垃圾评分系统!
// 栈与查找,easy
// var input =  readline().split(' ')
var input =  [1,2,2] // [9,3,5]
var output=[]
var arr = JSON.parse(JSON.stringify(input))
var target = []  

while(arr.length){
    if(arr[0] >= getMax(arr)){
        target.push(arr.splice(0,1)[0])
    }else{
        arr.push(arr.splice(0,1)[0])
    }
}

function getMax(arr){
    return  Math.max(...arr)
}

input.forEach(item=>{
   var index =  target.findIndex(subItem=>item===subItem)
   target[index] = 10 //避免重复时 多次选中 所以设置为一个不会存在的数字10
   output.push(index)
})

console.log(output)

唉,本来就是做着玩的,但是这个笔试要恶心一下我,不吐不快啊。

#华为机试##华为##笔经#
全部评论
第一题 #include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int size,n; int sum = 0; cin >> size; vector<int> arr(size); for (int i = 0; i < size; i++) { cin >> arr[i]; } sort(arr.begin(), arr.end()); arr.erase(unique(arr.begin(), arr.end()),arr.end()); cin >> n; if ((n - 1) >= (arr.size() - n)) cout << "-1" << endl; else { for (int i = 0; i < n ; i++) { sum += arr[i]; } for (int i = arr.size() - n ; i < arr.size() ; i++) { sum += arr[i]; } cout << sum << endl; } }
3 回复 分享
发布于 2021-09-10 00:31
lz加油!
点赞 回复 分享
发布于 2022-04-27 11:33
第一题,昨天做了Java版本的 通过 90%,剩下的,死活整不出来了
点赞 回复 分享
发布于 2021-09-11 15:24
第三题的第二个例子,不应该是1,2,0吗
点赞 回复 分享
发布于 2021-09-08 20:28
牛客系统对JavaScript不是特别友好,我之前做某公司笔试题时,老是出错,最后改成Java就通过了,所以还是学一手Java的好
点赞 回复 分享
发布于 2021-09-08 15:10
😭我也有点蒙,昨天第一次机试,第一个代码怎么看怎么没问题,但是死活跑不通,后面的题都没看完
点赞 回复 分享
发布于 2021-09-07 20:35
别人只是给两个输入案例而已,又不是全部的输入,你的代码少考虑了一些情况而已
点赞 回复 分享
发布于 2021-09-07 10:14
第一题那个if里面的条件写错了。js不会,第三题没怎么看懂,但是看懂思路了,每次取第一个最大就放到out,不是就放到队尾,但是输出是每个任务的执行的序号,其实直接排序就可。而且你这个复杂度确实很高,正确了基本上也不会a的。
点赞 回复 分享
发布于 2021-09-02 17:40

相关推荐

06-11 13:34
门头沟学院 C++
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
避坑恶心到我了大家好,今天我想跟大家聊聊我在成都千子成智能科技有限公司(以下简称千子成)的求职经历,希望能给大家一些参考。千子成的母公司是“同创主悦”,主要经营各种产品,比如菜刀、POS机、电话卡等等。听起来是不是有点像地推销售公司?没错,就是那种类型的公司。我当时刚毕业,急需一份临时工作,所以在BOSS上看到了千子成的招聘信息。他们承诺无责底薪5000元,还包住宿,这吸引了我。面试的时候,HR也说了同样的话,感觉挺靠谱的。于是,我满怀期待地等待结果。结果出来后,我通过了面试,第二天就收到了试岗通知。试岗的内容就是地推销售,公司划定一个区域,然后你就得见人就问,问店铺、问路人,一直问到他们有意向为止。如果他们有兴趣,你就得摇同事帮忙推动,促进成交。说说一天的工作安排吧。工作时间是从早上8:30到晚上18:30。早上7点有人叫你起床,收拾后去公司,然后唱歌跳舞(销售公司都这样),7:55早课(类似宣誓),8:05同事间联系销售话术,8:15分享销售技巧,8:30经理训话。9:20左右从公司下市场,公交、地铁、自行车自费。到了市场大概10点左右,开始地推工作。中午吃饭时间大约是12:00,公司附近的路边盖饭面馆店自费AA,吃饭时间大约40分钟左右。吃完饭后继续地推工作,没有所谓的固定中午午休时间。下午6点下班后返回公司,不能直接下班,需要与同事交流话术,经理讲话洗脑。正常情况下9点下班。整个上班的一天中,早上到公司就是站着的,到晚上下班前都是站着。每天步数2万步以上。公司员工没有自己的工位,百来号人挤在一个20平方米的空间里听经理洗脑。白天就在市场上奔波,公司的投入成本几乎只有租金和工资,没有中央空调。早上2小时,晚上加班2小时,纯蒸桑拿。没有任何福利,节假日也没有3倍工资之类的。偶尔会有冲的酸梅汤和西瓜什么的。公司的晋升路径也很有意思:新人—组长—领队—主管—副经理—经理。要求是业绩和团队人数,类似传销模式,把人留下来。新人不能加微信、不能吐槽公司、不能有负面情绪、不能谈恋爱、不能说累。在公司没有任何坐的地方,不能依墙而坐。早上吃早饭在公司外面的安全通道,未到上班时间还会让你吃快些不能磨蹭。总之就是想榨干你。复试的时候,带你的师傅会给你营造一个钱多事少离家近的工作氛围,吹嘘工资有多高、还能吹自己毕业于好大学。然后让你早点来公司、无偿加班、抓住你可能不会走的心思进一步压榨你。总之,大家在找工作的时候一定要擦亮眼睛,避免踩坑!———来自网友
qq乃乃好喝到咩噗茶:不要做没有专业门槛的工作
点赞 评论 收藏
分享
评论
3
48
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务