文章目录

  • 2432. 处理用时最长的那个任务的员工5.5
  • 1419. 数青蛙5.6
  • 1010. 总持续时间可被 60 整除的歌曲5.7

2432. 处理用时最长的那个任务的员工5.5

共有 n 位员工,每位员工都有一个从 0 到 n - 1 的唯一 id 。

给你一个二维整数数组 logs ,其中 logs[i] = [idi, leaveTimei] :

  • idi 是处理第 i 个任务的员工的 id ,且leaveTimei 是员工完成第 i 个任务的时刻。所有 leaveTimei 的值都是 唯一 的。
  • 注意,第 i 个任务在第 (i - 1) 个任务结束后立即开始,且第 0 个任务从时刻 0 开始。

返回处理用时最长的那个任务的员工的 id 。如果存在两个或多个员工同时满足,则返回几人中 最小 的 id 。
思路

使用枚举法将每一位员工的用时计算出来

public class Sulotion2432 {public int hardestWorker(int n, int[][] logs) {if (n == 1) {return 0;}int res = logs[0][1];int flag = logs[0][0];for (int i = 1; i < logs.length; i++) {int usid = logs[i][0];int temp = logs[i][1] - logs[i - 1][1];if (temp > res || (temp == res && usid < flag)) {res = temp;flag = logs[i][0];}}return flag;}
}

1419. 数青蛙5.6

给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 “croak” )的组合。由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs 中会混合多个 “croak” 。

请你返回模拟字符串中所有蛙鸣所需不同青蛙的最少数目。

要想发出蛙鸣 “croak”,青蛙必须 依序 输出 ‘c’, ’r’, ’o’, ’a’, ’k’ 这 5 个字母。如果没有输出全部五个字母,那么它就不会发出声音。如果字符串 croakOfFrogs 不是由若干有效的 “croak” 字符混合而成,请返回 -1 。

思路

使用计数的方式,创建一个数组,判断当前字符出现的次数以及当前字符的顺序(遍历后面字符的时候会判断前一个是否为0,以此来形成一个有顺序的鸣叫),如果当前字符合理,就将当前的数组计数加一,将前一个数组计数减一。因此当最终遍历完成如果有效的话所有计数应当全部为0;要判断同时有几只青蛙,只需要判断在数组中同时出现的最大数目。

public class Sulotion1419 {public static int minNumberOfFrogs(String croakOfFrogs) {if (croakOfFrogs.length() % 5 != 0) {return -1;}int[] count = new int[4];int res = 0;for (int i = 0; i < croakOfFrogs.length(); i++) {char c = croakOfFrogs.charAt(i);if (c != 'c' & c != 'r' & c != 'o' & c != 'a' & c != 'k'){return -1;}switch (c){case 'c': count[0]++; break;case 'r': if(count[0]==0) return -1; count[0]--; count[1]++; break;case 'o': if(count[1]==0) return -1; count[1]--; count[2]++; break;case 'a': if(count[2]==0) return -1; count[2]--; count[3]++; break;case 'k': if(count[3]==0) return -1; count[3]--; break;}// 判断同时有几只青蛙在叫res = Math.max(res, count[0]+count[1]+count[2]+count[3]);}// 判断叫声是否完整return count[0]+count[1]+count[2]+count[3] == 0 ? res : -1;}
}

1010. 总持续时间可被 60 整除的歌曲5.7

在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。

返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望下标数字 i 和 j 满足 i < j 且有 (time[i] + time[j]) % 60 == 0。

思路

使用双重for循环显然是可以直接实现的,但是那样的话时间复杂度是O(n^2)。
所以我们的思路是创建一个长度为61数组,用来记录当前索引数下的数字量,当一个数对60取余得到的数加上60减去这个数的值必定可以对60取余为0,所以只需记录遍历的数对60取余对应的数组的索引,然后将所有与之相加为60的数的数量记录下来。

public class Sulotion1010 {public int numPairsDivisibleBy60(int[] time) {int res = 0;int[] count = new int[61];for (int i = 0; i < time.length; i++) {res += count[(60 - time[i] % 60) % 60];count[time[i] % 60]++;}return res;}
}

LeetCode每日一题(持续更新中~~~)相关推荐

  1. leetcode每日一题—781.森林中的兔子

    题目: 森林中,每个兔子都有颜色.其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色.我们将这些回答放在 answers 数组里.返回森林中兔子的最少数量. 解答: class So ...

  2. 深拷贝和原型原型链和web api 和 this指向等(中初级前端面事题)持续更新中,建议收藏

    深拷贝 值类型的赋值就是深拷贝:变量赋值时,拷贝的不是内存地址,而是将数据完整的在内存中复制了一份 const a = 10const b = aconsole.log(b); 浅拷贝 引用类型(nu ...

  3. ③【Java 组】蓝桥杯省赛真题 [黄金连分数][马虎的算式]持续更新中...

    个人简介:Java领域新星创作者:阿里云技术博主.星级博主.专家博主:正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 蓝桥杯真题--持续更新中... ...

  4. ②【Java 组】蓝桥杯省赛真题解析 [振兴中华] [三部排序] 持续更新中...

    个人简介:Java领域新星创作者:阿里云技术博主.星级博主.专家博主:正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 蓝桥杯真题--持续更新中... ...

  5. 【100道面试题真题讲解】C++面试题讲解+JAVA面试题讲解+Linux面试题讲解+数据结构面试题+计算机网络面试题 讲解视频-持续更新中

    最近找到了一个非常好的公众号:IT笔试面试真题讲解,每天视频分享一道IT公司面试高频题目,完全免费哦,非常适合找工作的学生复习+总结+提炼. 白嫖不敢独吞,分享给大家,也给作者增加一点访问量,鼓励作者 ...

  6. leetcode贪心算法题集锦(持续更新中)

    leetcode贪心算法题集锦 leetcode贪心算法题集锦(持续更新中).python 和C++编写. 文章目录 leetcode贪心算法题集锦 一.贪心算法 1.盛最多水的容器 2.买股票的最佳 ...

  7. 《LeetCode 热题 HOT 100》Java答案汇总版---持续更新中

    <LeetCode 热题 HOT 100>Java答案汇总版-持续更新中 个人认为<LeetCode 热题 HOT 100>中的题目特别适合算法新手进行一个入门的刷题,而且作者 ...

  8. 2020今日头条面试真题及答案整理最新最全持续更新中~~~~

    大家好,我是好好学习天天编程的天天 一个整天在互联网上爬虫的程序员,每天给大家分享学习干货的攻城狮 2020今日头条面试真题及答案整理&最新最全&持续更新中~~~~ 2020今日头条面 ...

  9. 网络流题目详讲+题单(提高版)(持续更新中......)

    网络流题目详讲+题单(提高版)(持续更新中......) 标签:图论--网络流 PS:如果你觉得自己还不够强(和我一样弱),可以去入门版看看 阅读体验:https://zybuluo.com/Junl ...

  10. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

最新文章

  1. HDU 5769 Substring
  2. 提升【百度网盘】下载速度
  3. 自定义线程池-线程池类和测试类编写
  4. 理解JavaScript继承(二)
  5. 嵌入式无法使用QAudioDeviceInfo类
  6. MVC - 建立模型/实体类,对应到数据库
  7. Linux救援模式实战
  8. adb 不识别解决办法
  9. UVA10074 Take the Land【最大子段和+DP】
  10. sublime text多文件夹查找关键字
  11. codeforces 1077E Thematic Contests
  12. 读取iCloud vCard.vcf文件联系人
  13. 【干货】如何利用 pandas 批量合并 Excel?
  14. SQL语句中计算百分比
  15. 荣耀十连续点击android版本9,华为荣耀V10开发者选项如何设置
  16. http拨测是什么意思_网络性能拨测-网络传输速度体验检测系统有哪些指标?
  17. 尚硅谷python部分学习笔记
  18. linux修改组群名字,Linux用户和组 - 回忆斑斑驳驳的个人空间 - OSCHINA - 中文开源技术交流社区...
  19. 2018第九届蓝桥杯B组决赛-搭积木
  20. 大数据学习笔记(四)_MapReduce分布式处理框架

热门文章

  1. 《SpringBoot篇》19.SpringBoot整合Quart
  2. SSM整合之登录注册
  3. 简历中如何写上我们接口测试的技能?(附接口开源项目推荐)
  4. WinCE下的注册表编辑程序
  5. OpenGL学习脚印:光源类型和使用多个光源(Light source and multiple lights)
  6. 计算机连接游戏手柄,win7系统怎么连接游戏手柄?wi7校准和设置游戏手柄的教程...
  7. 论文笔记:Few-Shot Named Entity Recognition: An Empirical Baseline Study
  8. 如何发布web网站(一)
  9. python编程入门(适合初学者)
  10. 研报精选230416