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

【LeetCode】12. 小张刷题计划

稳住,能赢!没有经验的同学在面试岗位的时候,总是显得手忙脚乱,所以多练习,把技能提升,眼界提升,接着心态放平和,不要慌张,把面试题目读懂读透彻就会大大提升赢的概率。

1. 题目

本题质量不错,是一道很好的二分法面试题。

2. 分析

2.1 贪心

本题是求小张做题时间最多的一天耗时,不是求总共耗时,所以贪心的方法解这题不行。也就是说下面这个方法是无法得到正确答案的。

class Solution:def minTime(self, time: List[int], m: int) -> int:time.sort(reverse=True)res = sum(time[m::])return res

2.2 二分法

本题如果去掉求助这一环节,那么就是一道典型的二分法题,但是加上了“求助” 这么一个操作,二分法依然可解。只不过是带上了一点儿限制条件:这个限制条件就是去除掉每天的做题中耗时最久的那道题。

在得到这个限制条件后,唯一的判断条件就是:在当前这个“每天的最大做题量”情况下,是否能在要求的天数内完成做题?这么来看,就是一道比较典型的二分法求解题了。

3. 代码

class Solution:def minTime(self, time: List[int], m: int) -> int:left, right = 0, sum(time)while(left <= right):mid = (left + right) // 2 print(left, right, mid)if self.check(mid, time, m):right = mid - 1else: left = mid + 1    return left# 每天耗时limit的情况下,是否能在m天内完成def check(self, limit, time, m):        need = 0cur_max = 0 # 某一个窗口内的最大耗时        total = 0for i in range(len(time)):cur_max = max(cur_max, time[i])if total + time[i] - cur_max <= limit:total += time[i]else: # 重置。(又是新的一天)need += 1cur_max = time[i]total = time[i]if total:need += 1return m>=need

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【大模型LLM面试合集】大语言模型基础_Word2Vec
  • [吃瓜教程]南瓜书第6章支持向量机
  • 【咨询】企业数字档案馆(室)建设方案-模版范例
  • 高职物联网实训室
  • linux查看当前路径下各个文件的大小,仅到当前路径
  • Python | Leetcode Python题解之第223题矩形面积
  • Spring Boot集成rmi快速入门demo
  • Java面试题--JVM大厂篇之深入探讨Serial GC的应用场景
  • 【Python】找Excel重复行
  • python中 is 的意义和用法
  • 基于深度学习的频谱分析
  • 数据库之索引(四)
  • C#用链表和数组实现队列
  • 从“钓”到“管”:EasyCVR一体化视频解决方案助力水域安全管理
  • 基于Wireshark和TiWsPC(Wireshark Packet Converter)的Zigbee抓包
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【Leetcode】104. 二叉树的最大深度
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 【知识碎片】第三方登录弹窗效果
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • Java教程_软件开发基础
  • Laravel Telescope:优雅的应用调试工具
  • Linux下的乱码问题
  • PaddlePaddle-GitHub的正确打开姿势
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 工作手记之html2canvas使用概述
  • 计算机常识 - 收藏集 - 掘金
  • 开源地图数据可视化库——mapnik
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 小程序 setData 学问多
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #VERDI# 关于如何查看FSM状态机的方法
  • (C++哈希表01)
  • (ZT)出版业改革:该死的死,该生的生
  • (苍穹外卖)day03菜品管理
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (一)SpringBoot3---尚硅谷总结
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转载)Google Chrome调试JS
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • *2 echo、printf、mkdir命令的应用
  • .“空心村”成因分析及解决对策122344
  • .net连接oracle数据库
  • .NET学习全景图
  • .NET周刊【7月第4期 2024-07-28】
  • /etc/fstab 只读无法修改的解决办法
  • /etc/sudoers (root权限管理)
  • :“Failed to access IIS metabase”解决方法
  • @column注解_MyBatis注解开发 -MyBatis(15)