【从零开始的LeetCode-算法】3185. 构成整天的下标对数目 II

给你一个整数数组 hours,表示以 小时 为单位的时间,返回一个整数,表示满足 i < j 且 hours[i] + hours[j] 构成 整天 的下标对 ij 的数目。

整天 定义为时间持续时间是 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 <= 5 * 10^5
  • 1 <= hours[i] <= 10^9

我的解答:

class Solution {public long countCompleteDayPairs(int[] hours) {// 这里必须使用long类型数组// 因为某些值的数量远大于int类型最大值,导致数值溢出(半天想不明白自己错在哪,看了题解才幡然醒悟T_T)long[] hour = new long[24];long res = 0;for(int h : hours){// 通过求余的方式将值的范围约束在0-23以内hour[h % 24]++;}// 单独计算0跟12的组合,比较特殊res += ( hour[0]  * ( hour[0]  - 1 )) / 2; res += ( hour[12] * ( hour[12] - 1 )) / 2; for(int i = 1; i < 12; i++){res += hour[i] * hour[24-i];}return res;}
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Vue3核心语法] ref、reactive响应式数据

定义: ref用来定义&#xff1a;基本类型数据、对象类型数据&#xff1b; reactive用来定义&#xff1a;对象类型数据。 使用原则: 若需要一个基本类型的响应式数据&#xff0c;必须使用ref。 若需要一个响应式对象&#xff0c;层级不深&#xff0c;ref、reactive都可以。 …

项目管理这些问题,你是不是忍了很久?

项目管理中常见的问题&#xff0c;你是不是早就感到无奈了&#xff1f;项目进度滞后、成本超支、团队协作不畅、任务分配模糊、资源分配不合理……这些问题常常让人感到力不从心。 无论是关键节点的拖延&#xff0c;还是多部门间的沟通障碍&#xff0c;最终都会拖慢项目进展&a…

京东大模型革命电商搜推技术:挑战、实践与未来趋势

大模型对搜推技术产生了深远的影响&#xff0c;极大地推动了搜推技术的演进趋势&#xff0c;使得搜推更加的智能化和个性化&#xff0c;然而在搜推中引入大模型时同样面临一系列的挑战&#xff0c;例如商品知识的幻觉&#xff0c;复杂查询的理解&#xff0c;个性化商品推荐&…

酒店预订订房小程序源码系统 多酒店入驻+打造类似美团的酒店模式 带完整的安装代码包以及搭建部署教程

系统概述 随着移动互联网的普及&#xff0c;小程序因其轻量级、无需下载安装、即用即走的特点&#xff0c;迅速成为各行业的标配。对于酒店预订行业而言&#xff0c;小程序不仅能够有效提升用户体验&#xff0c;还能降低运营成本&#xff0c;提高转化率。本源码系统正是基于这…

js实现数组中数据有则删除无则添加-[‘12123‘,‘432233‘...]

可以使用indexOf方法来判断数组中是否存在某个元素&#xff0c;如果存在则使用splice方法删除该元素&#xff0c;如果不存在则使用push方法添加该元素。 下面是具体的代码实现&#xff1a; function addOrRemove(arr, item) {const index arr.indexOf(item);if (index -1) {…

Dockerfile和docker-compose详解

Dockerfile和docker-compose详解 文章目录 Dockerfile和docker-compose详解一、Dockerfile1. Dockerfile简介2. 构建镜像3. Dockerfile命令&#xff08;1&#xff09;FROM&#xff08;2&#xff09;WORKDIR&#xff08;3&#xff09;RUN&#xff08;4&#xff09;COPY&#xff…

MATLAB智能算法 - Immunity Algorithm免疫算法

Immunity Algorithm免疫算法 智能算法是路线规划、深度学习等等一系列领域所使用的优化算法&#xff0c;是算法进阶之路的必备之路。 前言&#xff1a;本文主要围绕解决TSP旅行商问题展开&#xff0c;对于机器人的路线规划以及非线性方程求解的问题等解决方案 对于一些其他智能…

Rust的泛型基础与实践

什么是泛型&#xff1f; 想象一下&#xff0c;我们想定义一个函数&#xff0c;它可以用来计算任意类型数据的最大值。如果我们只考虑整数&#xff0c;我们可以这样写&#xff1a; fn max(a: i32, b: i32) -> i32 {if a > b {a} else {b} }但是&#xff0c;如果我们还想…

【每日刷题】Day142

【每日刷题】Day142 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 1219. 黄金矿工 - 力扣&#xff08;LeetCode&#xff09; 2. 980. 不同路径 III - 力扣&#xff0…

C++20中头文件ranges的使用

<ranges>是C20中新增加的头文件&#xff0c;提供了一组与范围(ranges)相关的功能&#xff0c;此头文件是ranges库的一部分。包括&#xff1a; 1.concepts: (1).std::ranges::range:指定类型为range&#xff0c;即它提供开始迭代器和结束标记(it provides a begin iterato…

MP9928模块分析

MP9928 是一款高性能的同步降压 DC/DC 转换器控制器 IC&#xff0c;具有宽输入范围。以下是其操作和关键特性的总结&#xff1a; 概述 电流模式控制&#xff1a;MP9928 使用电流模式、可编程开关频率控制架构&#xff0c;通过外部 N 沟道 MOSFET 开关来调节输出电压。 反馈和…

PRCV2024:可信AI向善发展与智能文档加速构建

目录 0 写在前面1 GAI时代的挑战&#xff1a;图像内容安全1.1 图像篡改与对抗攻击1.2 生成式图像鉴别1.3 人脸鉴伪模型体验1.4 助力可信AI向善发展 2 GAI时代的机遇&#xff1a;大模型加速器2.1 TextIn大模型加速器2.2 通用文档解析2.3 文本向量模型 3 总结 0 写在前面 中国模…

认识一下:__asm { int 80h; LINUX - sys_fork }

这行代码 __asm { int 80h; LINUX - sys_fork } 使用了汇编语言的语法来直接调用 Linux 系统调用 fork。下面是对这行代码的详细解析&#xff1a; 代码解析 __asm: 这是一个用于嵌入汇编代码的指令&#xff0c;通常在 C 或 C 代码中使用&#xff0c;允许开发者直接插入汇编语言…

信息安全系统设计第七周

文章目录 密码系统设计学习内容AI 对学习内容的总结&#xff08;1分&#xff09;要求总结 第10章&#xff1a;身份认证和PKI理论基础第11章&#xff1a;实战PKI对 AI 总结的反思与补充&#xff08;2分&#xff09;要求反思与补充 学习思维导图&#xff08;2分&#xff09;要求思…

Pytorch 实现图片分类

CNN 网络适用于图片识别&#xff0c;卷积神经网络主要用于图片的处理识别。卷积神经网络&#xff0c;包括一下几部分&#xff0c;输入层、卷积层、池化层、全链接层和输出层。 使用 CIFAR-10 进行训练&#xff0c; CIFAR-10 中图片尺寸为 32 * 32。卷积层通过卷积核移动进行计…

告别微信封号!学会这5招,让你的账号坚不可摧

在这个信息爆炸的时代&#xff0c;无论是工作沟通、社交互动还是获取信息&#xff0c;微信都扮演着极其重要的角色。但是&#xff0c;随着微信平台规则的日益严格&#xff0c;账号被封的风险也随之增加。今天&#xff0c;我们就来聊聊如何有效防止 微信被封&#xff0c;让你的账…

【RL Latest Tech】安全强化学习(Safe RL):理论、方法与应用

&#x1f4e2;本篇文章是博主强化学习&#xff08;RL&#xff09;领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对相关等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅…

Python | Leetcode Python题解之第486题预测赢家

题目&#xff1a; 题解&#xff1a; class Solution:def PredictTheWinner(self, nums: List[int]) -> bool:length len(nums)dp [0] * lengthfor i, num in enumerate(nums):dp[i] numfor i in range(length - 2, -1, -1):for j in range(i 1, length):dp[j] max(num…

uniapp结合uview-ui创建项目

准备工作&#xff1a; 下载HBuilderX;官网地址:HBuilderX-高效极客技巧 安装node.js;官网地址&#xff1a;Node.js — 在任何地方运行 JavaScript,下载所需版本&#xff0c;安装后配置好环境变量即可 方式一&#xff08;NPM安装方式&#xff09;&#xff1a; 1、打开开发者…

代码随想录-哈希表-两个数组的交集

题目与思路 这个题目可以用大小为1000的数组&#xff0c;因为限制了变量大小。我用的是set&#xff0c;感觉这个才是本意。 下面代码是用set实现的hash结构。先用set1存储nums1中的去重元素&#xff0c;然后用set2存储结果集 最后将set转为array用了两种方式&#xff0c;一是…