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

news2024/10/10 0:04:45

package main

import (
	"fmt"
	"sort"
)

type s struct {
	start     int
	end       int
	workCount int
}

type duration struct {
	start int
	end   int
}

// 查询时间段内是否有可用的面试官
func getFreeS(sList []*s, d *duration, workCountLimit int) (sIndex int) {
	sIndex = -1
	if len(sList) == 0 {
		return sIndex
	}
	for i, sItem := range sList {
		if sItem.end <= d.start {
			if sItem.workCount < workCountLimit {
				sIndex = i
				break
			}
		}
	}
	return
}

func main() {
	var workCountLimit int
	fmt.Scan(&workCountLimit)
	var m int
	fmt.Scan(&m)

	durationList := make([]*duration, m)
	for i := 0; i < m; i++ {
		var star, end int
		fmt.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.start
				sList[sIndex].end = d.end
			} else {
				//需要增加一个面试官
				sList = append(sList, &s{
					start:     d.start,
					end:       d.end,
					workCount: 1,
				})
			}
		}
	}

	fmt.Println(len(sList))

}

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CanOpen转Profinet网关与钢成型机等机械集成时发挥的作用

在现代工业自动化领域&#xff0c;不同设备和系统之间的通信至关重要。CanOpen和Profinet是两种广泛应用于工业控制系统的通讯协议。CanOpen通常用于设备级别的通信&#xff0c;而Profinet则更常见于工业以太网&#xff0c;适用于更大范围的系统级控制。当型钢成型机等复杂机械…

@Service代替@Controller注解来标注到控制层的场景?

在SpringBoot开发中&#xff0c;Controller和Service基本上是日常开发中使用的最频繁的两个注解。但你有没考虑过Service代替Controller注解来标注到控制层的场景&#xff1f;换言之&#xff0c;经过Service标注的控制层能否实现将用户请求分发到服务层的功能&#xff1f; 前言…

视频智能分析/AI智能分析网关V4客流统计算法介绍及其在多领域多场景中的应用

随着人工智能技术的快速发展&#xff0c;AI智能分析网关V4作为一种集高性能、低功耗于一体的软硬一体AI边缘计算硬件设备&#xff0c;在工地、工厂、园区、消防、社区、校园等领域展现出强大的应用潜力。本文将详细介绍AI智能分析网关V4的客流统计算法原理及其在多个场景中的应…

[Python] 函数入参中的 *args和**kwargs 是什么意思

Python函数中*args和**kwargs的用法&#xff0c;它们允许接收任意数量的位置参数和关键字参数。*args用于非关键字的可变参数&#xff0c;而**kwargs则用于接受键值对的可变参数。在调用函数时&#xff0c;字典参数需置于单实例参数之后。示例代码展示了如何定义和使用这些可变…

上海马拉松2024年:城市律动,跑者狂欢

随着2024年的脚步日益临近&#xff0c;上海这座国际化大都市即将迎来一场体育盛事——上海马拉松。作为城市律动与跑者狂欢的完美结合&#xff0c;上海马拉松不仅吸引了来自世界各地的跑者&#xff0c;更成为了展现上海城市魅力和体育精神的重要窗口。 本次上海马拉松将于2024年…

每日OJ题_牛客_AB13【模板】拓扑排序_C++_Java

目录 牛客_AB13【模板】拓扑排序 题目解析 C代码 Java代码 牛客_AB13【模板】拓扑排序 【模板】拓扑排序_牛客题霸_牛客网 (nowcoder.com) 描述&#xff1a; 给定一个包含nn个点mm条边的有向无环图&#xff0c;求出该图的拓扑序。若图的拓扑序不唯一&#xff0c;输出任意合法…

The Sandbox 全新游戏赛季 Alpha 第 4 季完整攻略

欢迎来到 Alpha 第 4 季攻略&#xff01; 准备好投入 The Sandbox 有史以来最令人兴奋的游戏赛季吧&#xff01;我们诚邀你于 10 月 9 日晚上 10 点&#xff08;北京时间&#xff09;&#xff0c;加入我们为期 10 周的精彩平台活动&#xff0c;其中包含超过 100 个独特游戏体验…

杭州悦数参与制定的图技术国家标准项目进入公示期!

9 月 27 日&#xff0c;由全国智能计算标准化工作组归口&#xff0c;杭州悦数科技有限公司等多家知名企业及科研机构共同参与的 《智能计算 图计算性能测试方法》 国家标准项目正式进入公示期。作为第一个图技术相关的国家标准&#xff0c;这一里程碑式的进展&#xff0c;不仅标…

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【297-313】

文章目录 297. super基本语法297.1 基本介绍297.2 基本语法 298. super使用细节1299. super使用细节2300. super使用细节3301. 方法重写介绍302. 方法重写细节303. 重写课堂练习1304. 重写课堂练习2输出结果&#xff1a; 姓名&#xff1a;田所浩二 年龄:24305. 养宠物引出多态3…

直面商标管理难题,开启商标管理系统的解决方案

商标管理对于企业的品牌建设和市场竞争至关重要。然而&#xff0c;商标管理并非一帆风顺&#xff0c;其中存在着诸多难题。 1. 商标监测与侵权防范&#xff1a;随着市场竞争的加剧&#xff0c;及时发现潜在的侵权行为变得越来越困难。监测范围广泛&#xff0c;包括线上线下各种…

华为免费杀毒软件 | HiSec Endpoint 智能终端安全系统

HiSec Endpoint智能终端安全系统是由华为开发的一款全面的终端安全防护产品。该系统的核心目的是保护终端资产的安全&#xff0c;防止各种网络威胁。能够实时感知终端异常行为&#xff0c;多维检测识别潜在安全威胁&#xff0c;自动处置威胁事件&#xff0c;智能溯源入侵路径&a…

直击工博会 | 万物集与四大供应商强强联手,开启战略合作新纪元!

9月24日&#xff0c;第24届中国国际工业博览会在国家会展中心&#xff08;上海&#xff09;开幕。本届工博会设置数控机床与金属加工展、工业自动化展、节能与工业配套展、新一代信息技术与应用展等9大专业主题展&#xff0c;吸引28个国家和地区2600家企业参展。万物集作为参展…

SeaboxSQL

目录 一、基本架构 0、数据模型 1、主从集群 2、分库分表 二、部署安装 1、配置要求 2、前置依赖 3、安装步骤 三、基本操作 1、实例启停 2、命令执行 3、基本查询 4、表空间管理 4、用户管理 6、数据库操作 7、SCHEMA操作 8、表操作 9、日志操作 &…

立即升级!Windows11 24H2 正式版 V26100.2033!

今日&#xff0c;系统之家小编给您带来2024年10最新推出了Windows11 24H2正式版系统下载&#xff0c;该版本系统以微软官方Windows11 24H2 26100.2033 专业版为基础&#xff0c;展开离线制作与优化&#xff0c;安全无毒&#xff0c;且修复了之前版本存在的蓝屏、绿屏等问题&…

多模态大语言模型(MLLM)-InstructBlip深度解读

前言 InstructBlip可以理解为Blip2的升级版&#xff0c;重点加强了图文对话的能力。 模型结构和Blip2没差别&#xff0c;主要在数据集收集、数据集配比、指令微调等方面下文章。 创新点 数据集收集&#xff1a; 将26个公开数据集转换为指令微调格式&#xff0c;并将它们归类…

五、Python基础语法(程序的输入和输出)

一、输入 输入&#xff1a;输入就是获取键盘输入的数据&#xff0c;使用input()函数。代码会从上往下执行&#xff0c;当遇到input()函数&#xff0c;就会暂停执行&#xff0c;输入内容后&#xff0c;敲回车键&#xff0c;表示本次的输入结束。input函数得到的数据类型都是字符…

≌图概念凸显有长度不同的射线

黄小宁 【摘要】自有射线概念后的2300年里一直无人能知有长度不同的射线、无人能知有互不≌的射线&#xff0c;从而使数学一直有几何“常识”&#xff1a;任何射线都没有长度差别。保距变换和≌图概念使人能一下子看到有长度不同的射线。 变量x所取各数也均由x代表&#xff0c…

【电子通识】TINA-TI 安装

TINA-TI是一个SPICE的模拟仿真程序&#xff0c;提供了 SPICE 所有的传统直流、瞬态和频域分析以及更多功能。 TINA 具有允许您按照希望的方式设置结果的格式。虚拟仪器允许选择输入波形、探针电路节点电压和波形。 下载链接&#xff1a;TINA-TI 模拟工具 | 德州仪器 TI.com.cn …

计算机网络:数据链路层 —— 数据链路层概述

文章目录 数据链路层主要功能 基本概念链路数据链路帧 数据链路层 在计算机网络中&#xff0c;链路层&#xff08;Data Link Layer&#xff09;是网络协议栈中的一层&#xff0c;负责管理和控制链路的建立、维护和释放&#xff0c;以及处理链路层的数据帧传输和错误控制等功能…

为什么使用元空间替代了永久代

为什么使用元空间替代了永久代 简单来说&#xff1a; 永久代是JVM内存是有上限的&#xff0c;而元空间是存储本地内存里&#xff0c;内存上限比较大。避免频繁出现OOM问题。 永久代对象是通过Full GC进行内存清理&#xff0c;元空间是由操作系统内存管理机制处理&#xff0c;…