c语言sscanf函数的用法是什么
260
2022-08-26
[leetcode] 1390. Four Divisors
Description
Given an integer array nums, return the sum of divisors of the integers in that array that have exactly four divisors.
If there is no such integer in the array, return 0.
Example 1:
Input: nums = [21,4,7]Output: 32Explanation:21 has 4 divisors: 1, 3, 7, 214 has 3 divisors: 1, 2, 47 has 2 divisors: 1, 7The answer is the sum of divisors of 21 only.
Constraints:
1 <= nums.length <= 10^41 <= nums[i] <= 10^5
分析
题目的意思是:找出数组中的四因数,然后因子相加求和。这道题直接的思路就是一个一个的求,我封装了count_divisor来计算一个数的因数的个数,计算完后,去除重复的因数,判断剩下的因数的个数满足4的话,就找到了一个满足的数,然后继续遍历其他的数。
代码
class Solution: def count_divisor(self,num): ans=[1,num] for i in range(2,int(sqrt(num))+1,1): if(num%i==0): ans.append(i) ans.append(num//i) return ans def sumFourDivisors(self, nums: List[int]) -> int: res=0 for num in nums: ans=self.count_divisor(num) ans=list(set(ans)) if(len(ans)==4): res+=sum(ans) return res
参考文献
【leetcode】1390. Four Divisors
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~