前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python|力扣周赛2

Python|力扣周赛2

作者头像
算法与编程之美
发布2020-02-14 12:11:24
3790
发布2020-02-14 12:11:24
举报

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

你一个整数数组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 团队

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档