【力扣周赛#326】6279.数组乘积中的不同质因数数目+6196.将字符串分割成值不超过K的子字符串+6280.范围内最接近的两个质数
创始人
2024-05-04 04:35:44

目录

6278.统计能整除数字的位数 - 简单ac

6279.数组乘积中的不同质因数数目 - 质因数

6196.将字符串分割成值不超过K的子字符串 - 贪心

6280.范围内最接近的两个质数 - 质数筛 + 贪心


6278.统计能整除数字的位数 - 简单ac

6278. 统计能整除数字的位数

class Solution {public int countDigits(int num) {int res=0,t=num;while(t>0){int x=t%10;if(num%x==0) res++;t/=10;}return res;}
}

6279.数组乘积中的不同质因数数目 - 质因数

6279. 数组乘积中的不同质因数数目

思路:

数组乘积的不同质因数 因为数据范围

1 <= nums.length <= 10^4
2 <= nums[i] <= 1000

sum最大为(10^{3})^{10^{4}} 比long long还大

所以不能直接计算sum的质因数

其实数组乘积的质因数就是数组各元素的质因数

要求数目 用set去重即可

class Solution {
public:int distinctPrimeFactors(vector& nums) {sets;for(int x:nums){for(int i=2;i<=x/i;i++)if(x%i==0)  {while(x%i==0) x/=i,s.insert(i);}if(x>1) s.insert(x);} return s.size();}
};

 

6196.将字符串分割成值不超过K的子字符串 - 贪心

6196. 将字符串分割成值不超过 K 的子字符串

思路:

要满足条件的子串数最小 则要让每个子串在不超过k的情况下最大

则枚举每一个s[i]

如果单位数就超过了k 说明再怎么分割都无法满足条件(最小分割单位为1) return -1

否则累加数字 如果累加的数x>k

说明x去掉最后一位数就是  在不超过k情况下最大的数  所以i-- res++

因为最后一个子串没办法加上 所以最后res要+1

class Solution {
public:int minimumPartition(string s, int k) {int res=0;long long x=0;for(int i=0;ik) return -1;x=x*10+(s[i]-'0');if(x>k) res++,x=0,i--;}return res+1;}
};

6280.范围内最接近的两个质数 - 质数筛 + 贪心

6280. 范围内最接近的两个质数

思路:

先把范围内的质数存入v数组 数组内顺序肯定是从小到大的

如果质数的个数<2 则不可能找到满足条件的质数对 return -1

要求差值最小,那肯定是数组内两两间最小,不断更新答案即可

class Solution {
public:bool isprime(int x){if(x<2) return false;for(int i=2;i<=x/i;i++)if(x%i==0) return false;return true;}vector closestPrimes(int left, int right) {vector v;vector res{0,0x3f3f3f3f};for(int i=left;i<=right;i++) if(isprime(i)) v.push_back(i);if(v.size()<2) return vector{-1,-1};for(int i=0;it){res[0]=v[i];res[1]=v[i+1];}}return res;}
};

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...