• 【leetcode】1390. Four Divisors


    题目如下:

    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: 32
    Explanation:
    21 has 4 divisors: 1, 3, 7, 21
    4 has 3 divisors: 1, 2, 4
    7 has 2 divisors: 1, 7
    The answer is the sum of divisors of 21 only.

    Constraints:

    • 1 <= nums.length <= 10^4
    • 1 <= nums[i] <= 10^5

    解题思路:把nums中每个元素有几个除数都算出来就好了。

    代码如下:

    class Solution(object):
        def sumFourDivisors(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            import math
            res = 0
            for num in nums:
                div = []
                for i in range(1,int(math.sqrt(num))+1):
                    if num % i == 0 and i not in div:
                        div.append(i)
                        if num / i != i:div.append(num/i)
                    if len(div) > 4:break
                if len(div) == 4:res += sum(div)
            return res
    
            
  • 相关阅读:
    webservice4
    webservice2
    webservice3
    webservice
    java 堆栈分析4
    java 堆栈分析3
    java 堆栈分析2
    java 堆栈分析
    数据库的Timeout
    node.js小结 2
  • 原文地址:https://www.cnblogs.com/seyjs/p/12590735.html
Copyright © 2020-2023  润新知