力扣316周赛
力扣316周赛
周赛链接
6214. 判断两个事件是否存在冲突
给你两个字符串数组 event1 和 event2 ,表示发生> 在同一天的两个闭区间时间段事件,其中:
- event1 = [startTime1, endTime1] 且
- event2 = [startTime2, endTime2]
事件的时间为有效的 24 小时制且按 HH:MM 格式给出。当两个事件存在某个非空的交集时(即,某些时刻是两个事件都包含的),则认为出现 冲突 。
如果两个事件之间存在冲突,返回 true ;否则,返回 false 。
时间统一转换后,判断是否有交集即可
class Solution {
public:
bool haveConflict(vector<string>& event1, vector<string>& event2) {
int t11=0,t12=0;
int t21=0,t22=0;
t11=((event1[0][0]-'0')*10+event1[0][1]-'0')*60+((event1[0][3]-'0')*10+event1[0][4]-'0');
t12=((event1[1][0]-'0')*10+event1[1][1]-'0')*60+((event1[1][3]-'0')*10+event1[1][4]-'0');
t21=((event2[0][0]-'0')*10+event2[0][1]-'0')*60+((event2[0][3]-'0')*10+event2[0][4]-'0');
t22=((event2[1][0]-'0')*10+event2[1][1]-'0')*60+((event2[1][3]-'0')*10+event2[1][4]-'0');
if((t11>=t21&&t11<=t22)||(t21>=t11&&t21<=t12))
return true;
return false;
}
};
2447. 最大公因数等于 K 的子数组数目
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 nums 的子数组中元素的最大公因数等于 k 的子数组数目。
子数组 是数组中一个连续的非空序列。
数组的最大公因数 是能整除数组中所有元素的最大整数。
输入:nums = [9,3,1,2,6,3], k = 3
输出:4
解释:nums 的子数组中,以 3 作为最大公因数的子数组如下:
- [9,3,1,2,6,3]
- [9,3,1,2,6,3]
- [9,3,1,2,6,3]
- [9,3,1,2,6,3]
暴力二重循环即可。使用辗转相除法
辗转相除法
用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
int gcd(int a,int b){
while(b){
int tmp=a%b;
a=b;
b=tmp;
}
return a;
}
class Solution {
public:
int gcd(int a, int b){
while (b != 0){
int tmp = a % b;
a = b;
b = tmp;
}
return a;
}
int subarrayGCD(vector<int>& nums, int k) {
int cnt=0;
for(int i=0;i<nums.size();i++){
int gcdnum=nums[i];
for(int j=i;j<nums.size();j++){
gcdnum=gcd(gcdnum,nums[j]);
if(gcdnum==k)
cnt++;
}
}
return cnt;
}
};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效