You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不使用列表等数据结构,如何求n个随机数的最大值、最小值和平均值

不使用数据结构统计随机数最值的实现思路

你计算平均值时用到的「边生成随机数边做累计计算」的逻辑,完全可以复用在最值统计上,全程不需要存储所有随机数,具体实现思路如下:

  • 循环生成随机数前,新增两个变量用于记录当前的最值:current_max初始化为随机数区间的最小值1,current_min初始化为随机数区间的最大值100;如果担心初始化边界不符合特殊场景,也可以在生成第一个随机数时,直接将其同时赋值给current_max和current_min,从第二个随机数开始再做比较判断。
  • 每次生成新的随机数时,在原有的平均值累加逻辑之外,新增两次比较:
    • 若当前随机数大于current_max,将current_max更新为当前随机数的值
    • 若当前随机数小于current_min,将current_min更新为当前随机数的值
  • 所有随机数生成完成后,current_max就是全局最大值,current_min就是全局最小值,和已经计算完成的平均值一同输出即可。

参考伪代码如下:

# 读取正整数n的逻辑你已经实现
sum_total = 0
current_max = 1
current_min = 100

for _ in range(n):
    # 生成1-100随机数的逻辑你已经实现
    cur_rand = get_random(1,100)
    sum_total += cur_rand
    # 新增最值判断
    if cur_rand > current_max:
        current_max = cur_rand
    if cur_rand < current_min:
        current_min = cur_rand

avg = sum_total / n
print(f"平均值:{avg} 最大值:{current_max} 最小值:{current_min}")

内容的提问来源于stack exchange,提问作者Seif Alamir Yousef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:57:02