news 2026/6/27 1:50:54

华为非AI方向笔试真题 6月24号【电影放映调度问题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为非AI方向笔试真题 6月24号【电影放映调度问题】

电影放映调度问题(C++/Py/Java/Js/Go)题解

华为笔试真题 6月24号 非AI方向第一题 100分题型

题目内容

某电影院有111块银幕,每天需要安排多部电影在不同时段进行放映。每部电影有固定的放映时长和要求的放映时间段,且每个被选中放映的电影确保在对应时段能够完整占用。由于每块银幕同一时间只能放映一部电影,需要合理规划,使得每天能够放映的电影数量最多。如果第一场电影结束时间与第二场电影的开始时间相同,能够连续放映。
给定nnn部电影的放映时间区间,请计算最多可以放映多少部电影。

输入描述

第一行:nnn(电影数量) ,1≤n≤1051 \le n \le 10^51n105
接下来nnn行: 每行两个整数start[i]start[i]start[i]end[i]end[i]end[i], 表示第iii部电影的放映开始时间和结束时间,0≤start[i]<end[i]≤14400 \le start[i] < end[i] \le 14400start[i]<end[i]1440(一天内的分钟数) (时间以分钟表示,111小时为606060分钟; 如9:00=5409:00 = 5409:00=540,12:00=72012:00 = 72012:00=720)

输出描述

一个整数: 最多可以放映的电影数量

样例1

输入

3 540 660 540 600 660 780

输出

2

说明
最多可以222部电影, 可以选择540540540-660660660660660660-780780780, 或者540540540-600600600660660660-780780780

样例2

输入

5 0 1000 100 900 200 800 300 700 400 600

输出

1

说明
因为各电影的播放时间均有重叠, 所以最多可以有一部电影播放

题解和思路

思路

实现思路:贪心

  1. 这类求不重叠区间是一种常见贪心题型。贪心基于尽可能选择结束时间早的区间,将更多时间留给后续活动,从而达到选择尽可能多的区间数量。
  2. 先对时间区间按照结束时间升序排序。
  3. 从前往后遇到不冲突的区间进行选择即可,然后记录选择区间数量。
  4. 算法总体时间复杂度为O(nlogn)

C++

#include<bits/stdc++.h>usingnamespacestd;intmain(){ios_base::sync_with_stdio(false);cin.tie(nullptr);intn;cin>>n;vector<pair<int,int>>range(n);for(inti=0;i<n;i++){intstart,end;cin>>start>>end;range[i]={start,end};}// 按终止时间升序sort(range.begin(),range.end(),[](pair<int,int>&p1,pair<int,int>&p2){returnp1.second<p2.second;});// 贪心能选择就选择intcnt=0;intlastEnd=-1;for(inti=0;i<n;i++){if(range[i].first>=lastEnd){cnt++;lastEnd=range[i].second;}}cout<<cnt;return0;}

Java

importjava.io.*;importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args)throwsException{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));intn=Integer.parseInt(br.readLine());int[][]range=newint[n][2];for(inti=0;i<n;i++){String[]strs=br.readLine().split(" ");range[i][0]=Integer.parseInt(strs[0]);range[i][1]=Integer.parseInt(strs[1]);}// 按终止时间升序Arrays.sort(range,(a,b)->Integer.compare(a[1],b[1]));// 贪心能选择就选择intcnt=0;intlastEnd=-1;for(inti=0;i<n;i++){if(range[i][0]>=lastEnd){cnt++;lastEnd=range[i][1];}}System.out.print(cnt);}}

python

importsys n=int(sys.stdin.readline())range_list=[]for_inrange(n):start,end=map(int,sys.stdin.readline().split())range_list.append([start,end])# 按终止时间升序range_list.sort(key=lambdax:x[1])# 贪心能选择就选择cnt=0last_end=-1forstart,endinrange_list:ifstart>=last_end:cnt+=1last_end=endprint(cnt)

Javascript

constreadline=require('readline');constrl=readline.createInterface({input:process.stdin,output:process.stdout});constinput=[];rl.on('line',line=>{input.push(line);});rl.on('close',()=>{letidx=0;constn=Number(input[idx++]);constrange=[];for(leti=0;i<n;i++){const[start,end]=input[idx++].split(" ").map(Number);range.push([start,end]);}// 按终止时间升序range.sort((a,b)=>a[1]-b[1]);// 贪心能选择就选择letcnt=0;letlastEnd=-1;for(leti=0;i<n;i++){if(range[i][0]>=lastEnd){cnt++;lastEnd=range[i][1];}}console.log(cnt);});

Go

packagemainimport("bufio""fmt""os""sort")typePairstruct{startintendint}funcmain(){in:=bufio.NewReader(os.Stdin)varnintfmt.Fscan(in,&n)ranges:=make([]Pair,n)fori:=0;i<n;i++{fmt.Fscan(in,&ranges[i].start,&ranges[i].end)}// 按终止时间升序sort.Slice(ranges,func(i,jint)bool{returnranges[i].end<ranges[j].end})// 贪心能选择就选择cnt:=0lastEnd:=-1fori:=0;i<n;i++{ifranges[i].start>=lastEnd{cnt++lastEnd=ranges[i].end}}fmt.Print(cnt)}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/27 1:46:25

时空视觉重构 解锁营区物理空间全域透视新一代管理架构 技术解析白皮书

一、方案总纲本新一代营区全域透视管理架构由镜像视界浙江科技有限公司全栈源码自主研发&#xff0c;整套时空视觉重构核心演算课题纳入国家十四五重点研发课题序列&#xff0c;依托镜像视界浙江普陀时空大数据应用技术联合研究院完成多源时序视觉融合、像素三维空间反演、纯视…

作者头像 李华
网站建设 2026/6/27 1:42:06

《唤醒你的AI同事:WorkBuddy从零上手》020:配置常用连接器

本文是《唤醒你的 AI 同事——WorkBuddy 从零上手》系列 第 20 篇。 回顾总结:通过第 19 篇,我们了解了连接器的基本概念、工作原理以及它与技能的区别。连接器就像是 WorkBuddy 伸向外部的"手臂",可以连接 QQ 邮箱、腾讯文档、云盘等外部工具。 过渡语:理论已经…

作者头像 李华
网站建设 2026/6/27 1:35:51

069、Zephyr RTOS内核基础:功耗管理之睡眠模式

Zephyr RTOS内核基础:功耗管理之睡眠模式 从一次现场调试说起 去年冬天,我在一个工业传感器节点项目上栽了个跟头。设备部署在北方户外,电池供电,要求续航三年。第一版样机测试时,功耗曲线在凌晨三点突然跳出一个200mA的尖峰——这个时间点恰好是系统执行“深度睡眠”的…

作者头像 李华
网站建设 2026/6/27 1:27:50

「2026亲测」直击Turnitin算法:英文论文AI率97%降至8%的硬核指南

大家面对turnitin检测的时候肯定都特别头疼&#xff0c;尤其非母语写长文真的很容易飘红。 我自己这段时间踩了无数个坑&#xff0c;特意熬了几天夜&#xff0c;试出来几个真正靠谱的留学生降ai方法&#xff0c;今天就把这些测试结果全部掏出来。 这篇文章会详细拆解5个主流工…

作者头像 李华