当前位置: 首页 > news >正文

【华为OD机试真题】95、最少面试官数

package mainimport ("fmt""sort"
)type s struct {start     intend       intworkCount int
}type duration struct {start intend   int
}// 查询时间段内是否有可用的面试官
func getFreeS(sList []*s, d *duration, workCountLimit int) (sIndex int) {sIndex = -1if len(sList) == 0 {return sIndex}for i, sItem := range sList {if sItem.end <= d.start {if sItem.workCount < workCountLimit {sIndex = ibreak}}}return
}func main() {var workCountLimit intfmt.Scan(&workCountLimit)var m intfmt.Scan(&m)durationList := make([]*duration, m)for i := 0; i < m; i++ {var star, end intfmt.Scan(&star, &end)durationList[i] = &duration{start: star,end:   end,}}sort.Slice(durationList, func(i, j int) bool {if durationList[i].start != durationList[j].start {return durationList[i].start < durationList[j].start} else {return durationList[i].end < durationList[j].end}})sList := make([]*s, 0)for i, d := range durationList {if i == 0 {sList = append(sList, &s{start:     d.start,end:       d.end,workCount: 1,})} else {if sIndex := getFreeS(sList, d, workCountLimit); sIndex > -1 {//目前用空闲的面试官sList[sIndex].workCount++sList[sIndex].start = d.startsList[sIndex].end = d.end} else {//需要增加一个面试官sList = append(sList, &s{start:     d.start,end:       d.end,workCount: 1,})}}}fmt.Println(len(sList))}

总结:面试官开始下一场面试时,记得更新该面试官的结束时间


http://www.mrgr.cn/news/46315.html

相关文章:

  • 前端基础面试题·第四篇——Vue(其二)
  • mysql学习教程,从入门到精通,SQL 临时表(37)
  • Vue-router 导航守卫有哪些
  • Windows11下 安装 Docker部分疑难杂症(Unexpecter WSL error)
  • Zabbix 7.2入门实战
  • 闪送股价破发:估值大幅缩水、客单价不断下滑,红海竞争如何突围?
  • 用来deploy jar包的bat脚本
  • VS Code安装以及配置
  • 两文读懂DDD领域驱动设计,举例说明,通俗易懂【值得收藏】
  • 基于Python的COM库控制CANoe同时打开多个.cfg工程方法案例
  • 爬虫常用正则表达式用法
  • Apache SeaTunnel 9月份社区发展记录
  • Linux:多线程中的生产消费模型
  • 决策树随机森林-笔记
  • 基于Android11简单分析audio_policy_configuration.xml
  • Linux网络编程 -- 网络套接字预备与udp
  • Lombok的@Builder注解
  • ES操作指南
  • Run the FPGA VI 选项的作用
  • AI改变一切,包括你的毕业论文!如何应对?