结论:最小公倍数lcm(x,y)=x*y/gcd(x,y)
暴力枚举即可。
- class Solution {
- public:
- int get(int x,int y){
- return x*y/__gcd(x,y);
- }
- int subarrayLCM(vector<int>& a, int k) {
- int ans=0;
- int n=a.size();
- for(int i=0;i
- int g=a[i];
- for(int j=i;j
- g=get(g,a[j]);
- if(g==k) ans++;
- if(g>k) break;
- }
- }
- return ans;
- }
- };
时间复杂度:O()
空间复杂度:O(1)
-
相关阅读:
【Matlab】欧拉公式、梯形公式和改进欧拉公式求解常微分方程
数据结构学习笔记(一)——基本概念
Stable diffusion 用DeOldify给黑白照片、视频上色
Vite - 配置 - 不同的环境执行不同的配置文件
会话和守护进程
线程池的异常处理机制
zookeeper连接客户端操作数据时报错Socket is not connected
使用docker 注册runner
Spark Friendship
【洛谷 P1152】欢乐的跳 题解(枚举+位集合)
-
原文地址:https://blog.csdn.net/aaa7888210/article/details/127834308