从数字数组中获取最小值或最大值的最佳方法是什么?

2023-11-29

假设我有一个数字数组:[2,3,3,4,2,2,5,6,7,2]

查找该数组中的最小值或最大值的最佳方法是什么?

现在,为了获得最大值,我正在循环数组,如果变量大于现有值,则将变量重置为该值:

var myArray:Array /* of Number */ = [2,3,3,4,2,2,5,6,7,2];

var maxValue:Number = 0;

for each (var num:Number in myArray)
{
    if (num > maxValue)
        maxValue = num;
}

这似乎不是执行此操作的最佳执行方式(我尝试尽可能避免循环)。


其他人的理论答案都很简洁,但我们要务实一点。 ActionScript 提供了您需要的工具,因此在这种情况下您甚至不必编写循环!

首先,请注意Math.min() and Math.max()可以接受任意数量的参数。此外,了解以下内容也很重要apply()方法可用于Function对象。它允许您使用以下方式将参数传递给函数Array。让我们利用两者的优势:

var myArray:Array = [2,3,3,4,2,2,5,6,7,2];
var maxValue:Number = Math.max.apply(null, myArray);
var minValue:Number = Math.min.apply(null, myArray);

这是最好的部分:“循环”实际上是使用本机代码(在 Flash Player 内)运行的,因此它比使用纯 ActionScript 循环搜索最小值或最大值更快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从数字数组中获取最小值或最大值的最佳方法是什么? 的相关文章

  • 固定大小集以包含给定集的最大数量

    我有大约 1000 组尺寸 1 4 1 3 3 5 6 4 5 6 7 5 25 42 67 100 是否有可能找到包含最大数量的给定集合的大小为 20 的集合 检查每一个100 80 20 集 效率低下 我不太确定这是 NP 完全的 考虑
  • 如何将一组重叠范围划分为不重叠范围?

    假设您有一组范围 0 100 一 0 75 b 95 150 c 120 130 d 显然 这些范围在某些点上重叠 您将如何剖析这些范围以生成不重叠范围的列表 同时保留与其原始范围相关的信息 在本例中为范围后面的字母 例如 运行算法后的上述
  • 如何仅使用单个数组在 JavaScript 中模拟调用堆栈

    我正在看维基百科页面 https en wikipedia org wiki Call stack在调用堆栈上 并尝试理解这个图像 据我所知 哈哈 const memory memory 0 3 top of stack pointer m
  • C 埃及分数

    古埃及人仅使用以下形式的分数1 n因此任何其他分数都必须表示为这些单位分数的总和 而且 所有单位分数都是不同的 在C或Java中使任何分数成为埃及分数 总和越少越好 的好方法是什么 可以使用什么算法 分支定界 a 例如 3 4 1 2 1
  • 带路径压缩算法的加权 Quick-Union

    有一种 带路径压缩的加权快速联合 算法 代码 public class WeightedQU private int id private int iz public WeightedQU int N id new int N iz new
  • 异或交换可以扩展到两个以上的变量吗?

    我一直在尝试将异或交换扩展到两个以上的变量 例如n变量 但我没有得到比这更好的地方3 n 1 对于两个整型变量x1 and x2你可以像这样交换它们 swap x1 x2 x1 x1 x2 x2 x1 x2 x1 x1 x2 所以 假设你有
  • 数学组合的完美最小哈希

    首先定义两个整数N and K where N gt K 两者都在编译时已知 例如 N 8 and K 3 接下来 定义一组整数 0 N or 1 N 如果这使答案更简单 并调用它S 例如 0 1 2 3 4 5 6 7 的子集数量S wi
  • 计算两点之间的最短路线

    过去几周我一直在开发一款多人 HTML5 游戏 使用nodejs and websockets 我已经被这个问题困扰了一段时间 想象一下 我用数组实现了这个平铺地图 如下所示 1 or 棕色瓷砖 路上有障碍物 玩家无法通过 0 or 绿色瓷
  • 如何检查是否存在可能的路径?

    我正在开发一个基于 javascript 的实验性游戏 玩家必须在二维平铺地图上移动才能退出 请随意检查这个小提琴并演奏 http jsfiddle net moonlife 74vLd 我只是随机放置障碍物 但有时障碍物会挡住玩家和出口之
  • shell脚本中关联数组的时间复杂度

    我想知道在 shell 脚本中使用关联数组时如何构造 实现 另外 我想知道基于 shell 脚本的关联数组的时间复杂度是否是最佳的 因为我们可以使用字母和数字作为它们各自的键 编辑 他们使用什么哈希函数 如果您使用关联数组 则不能通过 使用
  • 如何从迭代器推导连续内存

    不知何故 本土stl copy VC Dinkumware 上的算法表明它可以使用memcpy 可以轻松复制的数据 一个凡人能做到这一点吗 假设每个元素都是普通可复制的 random access iterator 是否意味着连续内存 标准
  • 从一种数字系统转换为另一种数字系统后会有多少位数字

    主要问题 有多少位数字 让我解释 我有一个二进制数 11000000 十进制数是192 转换为十进制后 它有多少位 以十进制表示 在我的示例中 它是 3 位数字 但是 这不是问题 我在互联网上搜索并找到了一种用于整数部分的算法和一种用于小数
  • 在 O(n) 时间内排序?

    我被这个问题困扰了 2周 知道如何处理它吗 令 L 为 n 个不同整数的列表 假设 L 的 x 的元素在 1 750 范围内 设计线性排序算法对 L 的元素进行排序 我已经尝试过插入排序 但我不确定我的方法是否正确 Construct an
  • 什么是大O表示法?你用它吗? [复制]

    这个问题在这里已经有答案了 什么是大O表示法 你用它吗 我想我错过了这门大学课程 D 有人使用过它并给出一些现实生活中使用它的例子吗 也可以看看 八岁孩子的大O https stackoverflow com questions 10716
  • 实施二分查找有哪些陷阱? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 二分查找比看起来更难实现 虽然二分搜索的基本思想相对简单 但细节可能出人意料地棘手 Donald Knuth 新的二分搜索实现中最有可
  • 有没有时间复杂度为O(N)的排序算法?

    大多数排序算法的复杂度为 O NN 或 O NlogN 来实现结果 但是 对于特定的输入集 有些算法的复杂度为 O N 我想知道是否有一种排序算法在所有情况下都具有 O N 的复杂度 如果您只能比较 检查两个项目是否为 正在排序的值 那么您
  • 需要解释搜索最小大和的算法

    我正在解决 Codility 问题作为练习 但无法回答其中一个问题 我在互联网上找到了答案 但我不明白这个算法是如何工作的 有人可以引导我逐步完成它吗 这是问题 You are given integers K M and a non em
  • O(1) 算法确定节点是否是多路树中另一个节点的后代?

    想象一下下面的树 A B C D E F 我正在寻找一种方法来查询 F 是否是 A 的后代 注意 F 不需要是directA 的后代 在这种特殊情况下这是正确的 只需要针对更大的潜在后代节点池测试有限数量的潜在父节点 当测试一个节点是否是潜
  • Prim 的迷宫生成算法:获取相邻单元格

    我基于 Prim 算法编写了一个迷宫生成器程序 该算法是 Prim 算法的随机版本 从充满墙壁的网格开始 选择一个单元格 将其标记为迷宫的一部分 将单元格的墙壁添加到墙壁列表中 While there are walls in the li
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex

随机推荐

  • 通过堆栈进行 32 位扩展乘法

    这是我一直用来实现两个 32 位数字的扩展乘法的代码 有没有办法通过创建子程序并通过参数传递使用堆栈来实现类似的逻辑 使用 MUL 指令还是不使用 MUL 指令 有人可以帮忙吗 org 0x0100 jmp start multiplica
  • 迁移到 androidx 后,膨胀类 androidx.constraintlayout.ConstraintLayout 时出错

    我刚刚通过 Android Studio 菜单选项迁移到 androidxRefactor gt 重构为 AndroidX 我收到以下错误 android view InflateException 二进制 XML 文件行 2 二进制 XM
  • python bokeh,如何制作相关图?

    如何在 Bokeh 中制作相关热图 import pandas as pd import bokeh charts df pd util testing makeTimeDataFrame 1000 c df corr p bokeh ch
  • 使用服务帐号访问 Google Reseller API

    我们在使用服务帐户访问经销商 API 时遇到问题 带有客户端密钥的示例运行良好 但我们需要将其部署在 k8s Kubernetes Engine 中 而不需要定期刷新 oauth 会话 尤其是执行一次 因为在 Docker 容器中有点困难
  • 数据不会导入到 PGAdmin

    找不到 C Program Files PostgreSQL 13 pgAdmin 4 runtime psql exe 文件 请更正首选项对话框中的二进制路径 这是我尝试将数据导入 pg admin 时得到的响应 我之前导入过数据 但没有
  • 将 LIKE 运算符与 DETERMINISTIC 函数结合使用时的 Oracle 执行计划

    现在 当我使用 Oracle 执行计划时 我遇到了一件非常棘手的事情 DETERMINISTIC右侧的功能LIKE操作员 这是我的情况 情况 我认为执行这样的查询 简化的 是明智的 SELECT FROM customers cust JO
  • 在客户端-服务器设置中两个 ESP8266 之间的通信速度更快

    我正在尝试在两个 ESP8266 12 E 模块之间进行通信 一个设置为接入点模式 另一个设置为站 我的目的是在两者之间建立沟通 如何才能使数据传输更快 这就是所谓的TCP IP连接吗 接入点的代码 include
  • PHP JSON 字符串格式错误

    我有一个清理用户输入的功能 干净的输入返回后 会经过 json decode var true 目前 我收到格式错误的字符串错误 不过 如果我打印出来并用它进行测试http jsonlint com 它过去了 我开始意识到 清理过程之后的字
  • python matplotlib 将图形保存为数据文件

    我想创建一个 python 脚本 沿水平轴放大和缩小 matplotlib 图形 我的图是一组水平条形图 我还想让它能够采用任何通用的 matplotlib 图形 我不想只加载图像并放大该图像 我想沿水平轴放大图表 我知道该怎么做 有什么方
  • 如何在 Angular 2 中动态添加和删除表单字段

    我试图在用户单击添加按钮时动态添加输入字段 并且对于每个表单字段必须有一个删除按钮 当用户单击必须删除表单字段时 我需要使用 Angular 2 来实现此目的 如下所示我是 Angular 2 的新手 请帮助我完成它 我尝试过的 我创建了一
  • ZPL 打印机上的 Unicode 字符

    我的任务是使用联网的 Zebra GK420T 重新设计一个打印运输标签的系统 我已经能够完美地向它发送 ZPL 打印作业 但我似乎无法让它打印 unicode 字符 例如西里尔字母 我已使用 Seagull Scientific 驱动程序
  • 在 Ruby 中,如何在类中编写代码以使 getter foo 和 setter self.foo = ... 看起来更相似?

    在 Ruby 中 在类的实例方法中 我们使用 getter foo 我们使用 setter self foo something 一个人不需要拥有一个self 另一个有 有没有办法让它们看起来更相似 而不是使用类似的东西self foo作为
  • 如何创建动态大小的结构数组?

    我知道如何创建具有预定义大小的结构数组 但是 有没有办法创建动态结构数组 使数组变得更大 例如 typedef struct char str words main words x 100 I do not want to use this
  • SQL查询优化建议产品

    我现在将尝试更好地解释以下问题和查询的目的是什么 假设我们正在讨论电子商务环境和数据库 除其他表外 我们还有三个表 产品 订单和订单数据 ORDERS 表将处理所有已下订单 还有一个子表 我们将其称为 ORDERS DATA 将存储订单中记
  • 将私钥关联到 PFXExportCertStoreEx 的证书

    我正在尝试将证书导出到 pfx 文件 这就是我所做的 简化 h CertOpenStore CERT STORE PROV MEMORY 0 NULL CERT STORE CREATE NEW FLAG NULL p CertCreate
  • 如何为实时系统实现 Python Gekko 应用程序? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想将 Python Gekko 应用程序连接到实时系统 对于控制器的每个 周期 有三个步骤 从测量设备读取当前值 Python 应用程序根据测量结
  • 关于在 php 中连接数据库的错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我正在这样做我的代码 con mysqli connect localhost root root floralsupply 并就此line浏览器是giving我这个erro
  • 如何在.Net Core 3.1中创建的WCF服务中读取/解析soap标头请求

    我创建了一个 poc WCF 服务 并且可以使用 SOAP UI 或 Postman 调用该服务 但对于某些项目工作 我需要解析下面的肥皂安全标头 SOAP 头
  • 如何在VB.net中引用当前Windows用户的视频文件夹路径

    我正在寻找一种方法来引用 VB NET 中当前用户的 MyVideos 文件夹 我的目标是使用这个参考来设置InitialDirectory我的财产OpenFileDialog目的 像这样的东西 OpenFileDialog1 Initia
  • 从数字数组中获取最小值或最大值的最佳方法是什么?

    假设我有一个数字数组 2 3 3 4 2 2 5 6 7 2 查找该数组中的最小值或最大值的最佳方法是什么 现在 为了获得最大值 我正在循环数组 如果变量大于现有值 则将变量重置为该值 var myArray Array of Number