zoukankan      html  css  js  c++  java
  • 【leetcode】1362. Closest Divisors

    题目如下:

    Given an integer num, find the closest two integers in absolute difference whose product equals num + 1 or num + 2.

    Return the two integers in any order.

    Example 1:

    Input: num = 8
    Output: [3,3]
    Explanation: For num + 1 = 9, the closest divisors are 3 & 3, for num + 2 = 10, the closest divisors are 2 & 5, hence 3 & 3 is chosen.
    

    Example 2:

    Input: num = 123
    Output: [5,25]
    

    Example 3:

    Input: num = 999
    Output: [40,25]

    Constraints:

    • 1 <= num <= 10^9

    解题思路:直接穷举计算即可。

    代码如下:

    class Solution(object):
        def closestDivisors(self, num):
            """
            :type num: int
            :rtype: List[int]
            """
            num_sqrt  = int((num+2) ** 0.5) + 1
            diff = float('inf')
            res = []
            for i in range(1,num_sqrt+1):
                if (num+2) % i == 0 and diff > abs(i - (num+2) / i):
                    diff = abs(i - (num+2) / i)
                    res = [i,(num+2) / i]
            
            num_sqrt = int((num+2) ** 0.5) + 1     
            for i in range(1,num_sqrt+1):
                if (num+1) % i == 0 and diff > abs(i - (num+1) / i):
                    diff = abs(i - (num+1) / i)
                    res = [i,(num+1) / i]
            return res
  • 相关阅读:
    div+css清除浮动代码
    JavaScript for循环实现表格隔行变色
    JavaScript 四种显示数据方式
    table表格隔行变色
    table表格用tbody新属性获取DOM元素
    条形图
    子图--面向对象
    线的形状
    matplotlib--直线和点
    颜色和样式字符串
  • 原文地址:https://www.cnblogs.com/seyjs/p/12389873.html
Copyright © 2011-2022 走看看