Python教程

Python|力扣周赛2

本文主要是介绍Python|力扣周赛2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

问题描述

你一个整数数组nums和一个正整数threshold,你需要选择一个正整数作为除数,然后将数组里每个数都除以它,并对除法结果求和。

请你找出能够使上述结果小于等于阈值 threshold 的除数中最小的那个。
每个数除以除数后都向上取整,比方说7/3=3,10/2=5。
题目保证一定有解

解决方案

样式要求:

示例 1:
输入:nums = [1,2,5,9], threshold = 6
输出:5
解释:如果除数为 1 ,我们可以得到和为 17 (1+2+5+9)。
如果除数为 4 ,我们可以得到和为 7 (1+1+2+3) 。如果除数为 5 ,和为 5 (1+1+1+2)。
示例 2:
输入:nums = [2,3,5,7,11], threshold = 11
输出:3
示例 3:
输入:nums = [19], threshold = 5
输出:4
提示:
1 <= nums.length <= 5 * 10^4
1 <= nums[i] <= 10^6
nums.length <= threshold <= 10^6

首先遍历除数

然后遍历数组

最后判断

Python代码:

def fun(nums,threshold):
     for j in range(1,max(nums)+1):
         x=0
         for i in nums:
             if i%j==0:
                 x+=(i/j)
             else:
                 x+=(i//j)+1
         if x<=threshold:
             return j

END

实习编辑   |   王楠岚

责       编   |   王自强

 where2go 团队


   

微信号:算法与编程之美          

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

这篇关于Python|力扣周赛2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!