余数优化解法秒过力扣1010 问题解析力扣1010 题 “总持续时间可被 60 整除的歌曲” 要求统计数组中所有满足(time[i] time[j]) % 60 0的数对(i, j)的个数i j。直接暴力枚举会超时需利用余数性质优化。核心思路对每个时间t计算t % 60的余数r。若存在另一个数的余数r2满足(r r2) % 60 0则这两个数之和可被 60 整除。具体地若r 0需与余数为 0 的数配对。若r 30需与余数为 30 的数配对。其他情况需与余数为60 - r的数配对。使用哈希表数组或unordered_map记录每个余数出现的次数遍历时累加配对数量即可。C 代码实现class Solution { public: int numPairsDivisibleBy60(vectorint time) { vectorint remainderCount(60, 0); // 存储余数出现次数 int count 0; for (int t : time) { int r t % 60; if (r 0) { // 余数为0的数可与之前所有余数为0的数配对 count remainderCount[0]; } else { // 与余数为60-r的数配对 count remainderCount[60 - r]; } remainderCount[r]; // 更新当前余数出现次数 } return count; } };代码说明remainderCount数组用于记录每个余数0到 59出现的次数。遍历每个时间t计算余数r。根据r的值累加可配对的数对数量若r 0则当前数可与之前所有余数为 0 的数配对因为0 0 0可被 60 整除。否则当前数需与余数为60 - r的数配对因为(r (60 - r)) % 60 0。更新当前余数的计数确保后续数能正确配对。时间复杂度 O(n)空间复杂度 O(1)数组大小固定为 60。示例输入time [30,20,150,100,40]30 % 60 30remainderCount[30]初始为 0count 0remainderCount[30] 1。20 % 60 20需配对余数 40remainderCount[40]为 0count 0remainderCount[20] 1。150 % 60 30需配对余数 30remainderCount[30]为 1count 1remainderCount[30] 2。100 % 60 40需配对余数 20remainderCount[20]为 1count 1remainderCount[40] 1。40 % 60 40需配对余数 20remainderCount[20]为 1count 1remainderCount[40] 2。输出count 3对应数对(30,150)、(20,100)、(20,40)。参考来源❤️67❤️带新手一起刷力扣 (LeetCode)❤️代码有详细的注释❤️反思总结❤️67. 二进制求和力扣1010.总持续时间可被60整除的歌曲从导弹拦截到贪心算法LeetCode 1010题保姆级图解教程附C代码leetcode 409.最长回文串 C力扣67-二进制求和-C

相关新闻

最新新闻

Playwright鼠标高级操作:拖拽、悬停与精准点击实战指南

Playwright鼠标高级操作:拖拽、悬停与精准点击实战指南

1. 项目概述:为什么我们需要更精细的鼠标操作? 如果你用过 Playwright 做自动化测试或者网页抓取,肯定对 page.click() 和 page.fill() 这类基础操作轻车熟路了。但当你面对一个复杂的、交互密集的现代 Web 应用时,比如一个在…

2026/7/8 17:50:08
MATLAB三分频程声学分析工具集:含A计权、时频转换与滤波仿真

MATLAB三分频程声学分析工具集:含A计权、时频转换与滤波仿真

本文还有配套的精品资源,点击获取 简介:一套开箱即用的MATLAB声学信号处理工具集,专注三分之一倍频程频带划分与工程化应用。主脚本Oct3_Main_for_simdata.m一键启动全流程分析,支持直接读取实测时域数据(如sample_…

2026/7/8 17:50:08
Karate框架:API测试自动化的终极解决方案与实战指南

Karate框架:API测试自动化的终极解决方案与实战指南

1. 项目概述:为什么我们需要重新审视API测试自动化在软件交付节奏越来越快的今天,API测试自动化早已不是“要不要做”的选择题,而是“怎么做才能更高效”的必答题。我见过太多团队,从Postman手动测试脚本化,到用Python…

2026/7/8 17:50:08
AWD 攻防:PHP 不死马进程级查杀与 2 种隐藏文件对抗

AWD 攻防:PHP 不死马进程级查杀与 2 种隐藏文件对抗

PHP不死马的系统级对抗:进程查杀与隐蔽文件攻防实战1. 不死马的本质与系统级驻留机制在服务器安全运维领域,PHP不死马堪称最难缠的Web后门之一。与传统WebShell不同,这类恶意脚本通过进程驻留和文件再生的双重机制实现持久化控制。理解其工作…

2026/7/8 17:50:08
Pytest API自动化测试实战:从环境搭建到企业级框架构建

Pytest API自动化测试实战:从环境搭建到企业级框架构建

1. 项目概述:为什么Pytest是API自动化测试的“瑞士军刀”? 如果你正在为如何高效、稳定地验证后端服务的API接口而头疼,或者厌倦了手动调用Postman、Swagger然后肉眼比对结果的重复劳动,那么今天这篇内容就是为你准备的。我将带你…

2026/7/8 17:50:08
JMeter HTTP GET请求性能测试入门:从基础配置到实战解析

JMeter HTTP GET请求性能测试入门:从基础配置到实战解析

1. 项目概述:为什么从HTTP GET开始你的JMeter之旅如果你刚开始接触性能测试,或者想用JMeter来验证某个API接口是否“扛得住”,那么从HTTP GET请求入手,绝对是最高效、最稳妥的起点。我见过太多新手一上来就想模拟复杂的登录、下单…

2026/7/8 17:45:08

月新闻