首页 > 其他 > 详细

Leetcode 每日一题:

时间:2020-06-14 23:48:47      阅读:70      评论:0      收藏:0      [点我收藏+]

一、题目:

技术分享图片

 

 技术分享图片

 

 

暴力法:

1、value 从target均值开始,对数组求和

2、直到数组和大于等于target;

3、数组中每个数均小于等于target 均值,value再增加数组和也是不会变的。

  数组和s =target 或是 s = sum(arr)(等于最初数组和)直接返回 value

  

 

class Solution:
    def findBestValue(self, arr: List[int], target: int) -> int:
        s=0
        s1=0
        max1 = max(arr)
        d=  target//len(arr)
        while True:
            s1= s
            s=0
            for i in range(len(arr)):
                
                if arr[i]>d:
                    s+=d
                else:
                    s+=arr[i]
           
            if s<target and s!=sum(arr):

                d+=1
            elif s==target:
                return d
            elif s==sum(arr):
                return d
            else:
                break
        # print(s1,s,d)
        if abs(s1-target)<=abs(s-target):     

            return d-1
        else:
            return d

  

Leetcode 每日一题:

原文:https://www.cnblogs.com/SuckChen/p/13127626.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!