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

8/9 华为od 机试 js 已凉

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

8/9 华为od 机试 js 已凉

本人22届本科,自学前端,非计算机专业,正在找工作,欢迎介绍,感谢介绍!
正文:
第一题:字符串换最小字符串

(5条消息) HUAWEI 机试题:字符串变换最小字符串_leo_qiu_s的博客-CSDN博客_字符串变换最小字符串

该题个人代码如下

通过率只有23%,欢迎大佬解答

let str = readline()let arr = strstr = str.split('')arr = arr.split('').sort()for(let i =0;i<str.length;i++){    if(str[i] != arr[i]){        let temp = str[i]        let j = str.indexOf(arr[i])        str[i] = str[j]        str[j] = temp        break    }}console.log(str.join(''))

第二题:(5条消息) 华为机试练习(十一)求数组中最大n个数和最小n个数的和_下一个路口遇见你48的博客-CSDN博客_最大n个数与最小n个数的和

该题通过率为 94.5%

第三题:求最少需要的面试官数量

题目求助 | 求最少需要的面试官数量 - 力扣(LeetCode)

这个题目,没有debug出来,钻牛角尖了

洗了个澡后,做出来了,欢迎大佬指点

/* 某公司组织一场公开招聘活动,假设由于人数和场地的限制,每人每次面试的时长不等,并已经安排给定,用(S1,E1)、(S2,E2)、(Sj,Ej)...(Si < Ei,均为非负整数)表示每场面试的开始和结束时间。面试采用一对一的方式,即一名面试官同时只能面试一名应试者,一名面试官完成一次面试后可以立即进行下一场面试,且每个面试官的面试人次不超过m。为了支撑招聘活动高效顺利进行,请你计算至少需要多少名面试官。输入描述:输入的第一行为面试官的最多面试人次m,第二行为当天总的面试场次n,接下来的n行为每场面试的起始时间和结束时间,起始时间和结束时间用空格分隔。其中,1 <= n, m <= 500输出一个整数,表示至少需要的面试官数量。示例1:241 23 54 76 8输出:2*/// ----------------------------------------------------let m = 2let n = 4let arr = [[1,2],[3,5],[4,7],[6,8]]//整理排序 ,排序后,一个面试官一场面试,依次轮流发放arr.sort((a,b)=>{    if(a[0]==b[0]){        return a[1]-b[1]    }else{        return a[0]-b[0]    }})//最少面试官数量  let mianshiguan =  Math.ceil(n/m)// 具体面试官的最后一场面试时间let msgs = new Array(n).fill([0,0])// .fill() 方法填充的是数据地址,重新深拷贝一次,大坑!!let msg =JSON.parse(JSON.stringify(msgs))let result = mianshiguanlet f = 0   // 安排成功的标志// 面试官最多为nfor(let k = mianshiguan;k<=n;k++){     f = 0     for(let i =0;i<arr.length;i++){        if( msg[i%k][1]<arr[i][0]){                msg[i%k][0]= arr[i][0]                msg[i%k][1] =arr[i][1]        }else{            // 当排序后,安排给面试官的场次,面试官时间无法接受,后面的面试官时间肯定也接受不了,因此添加一个面试官 即 k++            f= 1            msg.forEach(a=>{                return  [a[0],a[1]] = [0,0]            })            break        }    }    if(f==0){         result = k    }}console.log(result)
#华为od机试##华为机试,emo了#
 类似资料: