一、题目:


暴力法:
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
原文:https://www.cnblogs.com/SuckChen/p/13127626.html