【发布时间】:2021-05-16 06:30:32
【问题描述】:
尝试用python3解决leetcode问题。这个问题只是要求一些简单的统计计算,但我什至无法运行代码,因为我不明白问题是什么。名字拼写一样,函数在调用之前就定义好了,是不是带参数的东西?
class Solution:
def minFinder(nums):
min = nums[0]
for num in nums:
if (num < min):
min = num
return min
def maxFinder(nums):
max = nums[0]
for num in nums:
if (num > min):
max = num
return max
def meanFinder(nums):
sum = 0
for num in nums:
sum += num
mean = sum/(len(nums))
return mean
def medFinder(nums):
if (len(nums) % 2 == 0):
med = nums[((len(nums)/2 - 1) + (len(nums)/2)) / 2]
else:
med = nums[len(nums) // 2]
return med
def modeFinder(nums):
index = 0
freq = 0
for num in nums:
if nums.count(num) > freq:
freq = nums.count(num)
index = nums.index(num)
mode = nums[index]
return mode
def sampleStats(self, count: List[int]) -> List[float]:
fltr_cnt = []
for num in count:
if (num != 0):
fltr_cnt.append(num)
stats = []
stats.append(minFinder(fltr_cnt) * 1.0)
stats.append(maxFinder(fltr_cnt))
stats.append(meanFinder(fltr_cnt))
stats.append(medFinder(fltr_cnt))
stats.append(modeFinder(fltr_cnt))
return stats
name 'minFinder' is not defined
我的代码不那么复杂的建议也值得赞赏,比如有没有更快的方法来执行 .append() 5 次?
【问题讨论】:
-
你的意思是:'self.minFinder()'?
-
请展示研究并提供minimal reproducible example。
-
正如@quamrana 所说,这可能是因为您没有使用
self.,而不仅仅是minFinder,而是您包含在sampleStats方法中的所有方法