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

leetcode力扣刷题系列——【构成整天的下标对数目 I】

题目

给你一个整数数组 hours,表示以 小时 为单位的时间,返回一个整数,表示满足 i < j 且 hours[i] + hours[j] 构成 整天 的下标对 i, j 的数目。
整天 定义为时间持续时间是 24 小时的 整数倍 。
例如,1 天是 24 小时,2 天是 48 小时,3 天是 72 小时,以此类推。

示例 1:
输入:
hours = [12,12,30,24,24]
输出:
2
解释:
构成整天的下标对分别是 (0, 1) 和 (3, 4)。

示例 2:
输入:
hours = [72,48,24,3]
输出:
3
解释:
构成整天的下标对分别是 (0, 1)、(0, 2) 和 (1, 2)。

提示:
1 <= hours.length <= 100
1 <= hours[i] <= 10^9

答案

我的答案:
第一次写的时候没看懂题目,我以为只要hours中有整数天数把整数的天数加一起就可以。 很尴尬,后面仔细看了示例和解释才看懂到底要干什么。方法很简单啊采用的是两个for循环就能搞定,今天我也会在想一想有没有其他的方法来做这个题目。

class Solution:def countCompleteDayPairs(self, hours: List[int]) -> int:count=0for i in range(len(hours)):for j in range(i+1,len(hours)):if (hours[i]+hours[j])%24==0:count+=1return count

官方的方法:

方法一:暴力
思路与算法

我们可以枚举每一个 hours[i],然后遍历剩下的 hours[j],如果 hours[i]+hours[j] 能够被 24 整除,就对答案进行累加。
注意,枚举的方向可以从左往右,也可以从右往左,即对于每一个 hours[i],可以查看 j>i 或查看 j<i 时的 hours[j] 能否与 hours[i] 成对,只需要保证枚举不会重复即可。

class Solution:def countCompleteDayPairs(self, hours: List[int]) -> int:ans = 0for i in range(1, len(hours)):for j in range(i):if (hours[i] + hours[j]) % 24 == 0:ans += 1return ans

作者:力扣官方题解
这是链接哦
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


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

相关文章:

  • 芯知识 | NVH-FLASH语音芯片支持平台做语音—打造音频IC技术革新
  • 将本地文件上传到GIT上
  • python 文件防感染扫描
  • 什么是全局污染?怎么避免全局污染?
  • International Symposium on Artificial Intelligence Innovations
  • Preview Sections 预览部分
  • [0155].第6节:IDEA常用插件
  • 大模型综述:万字长文详解AI大模型的原理、应用与未来趋势
  • 状态黑板模式
  • 进程间通信大总结Linux
  • 如何学会解决HTTP相关返回值异常?全在这!(上篇)
  • Spring Boot论坛网站:技术要点与案例分析
  • 就是这个样的粗爆,手搓一个计算器:热量计算器
  • springboot高校在线健康咨询服务-计算机设计毕业源码86100
  • css实现外层不换行,内层换行
  • PVE虚拟机强制重启
  • ELK收集nginx日志
  • Stable Diffusion视频插件Ebsynth Utility安装方法
  • S32DS for ARM GPIO实践
  • 基于Spring Boot的论坛网站:从零到部署
  • TensorRT构建的engine文件用途
  • 自动化数据库管理:如何通过存储过程动态创建 MySQL 对象
  • 网盘与移动硬盘优势对比
  • 请求转发和重定向
  • 动态规划20:918. 环形子数组的最大和
  • 私募基金大屏粒子效果和动画闪烁效果 vue3+js