Leetcode 每日一题:

Posted SuckChen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 每日一题:相关的知识,希望对你有一定的参考价值。

一、题目:

 

 

 

 

暴力法:

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 每日一题:的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode9月 每日一题

LeetCode9月 每日一题

算法·每日一题(详解+多解)-- day14

算法·每日一题(详解+多解)-- day14

leetcode每日一题-495:提莫攻击

leetcode每日一题-299:猜数字游戏