找到三元组中间值的最快方法?

2024-01-17

给定的是一个由三个数值组成的数组,我想知道这三个数值的中间值。

问题是,最快的方法是什么找到三者的中间点?

我的方法是这种模式 - 因为有三个数字,所以有六种排列:

if (array[randomIndexA] >= array[randomIndexB] &&
    array[randomIndexB] >= array[randomIndexC])

如果有人能帮助我找到一种更优雅更快的方法来做到这一点,那就太好了。


这里有一个使用最小/最大并且没有分支的答案(https://stackoverflow.com/a/14676309/2233603 https://stackoverflow.com/a/14676309/2233603)。实际上 4 个最小/最大运算就足以找到中位数,不需要异或:

median = max(min(a,b), min(max(a,b),c));

不过,它不会给你中值的索引......

所有案例的详细情况:

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

找到三元组中间值的最快方法? 的相关文章

  • GSON - JsonSyntaxException - 第 7 行第 4 列的预期名称

    我有以下结果类 其对象将以 JSON 形式返回 public class Result public String objectid public String dtype public String type public String
  • Java-Android 上的 MulticastSocket 问题

    我开始使用 MulticastSocket 进行编码 尝试制作一个带有客户端和服务器的简单应用程序来发送消息 我的服务器代码 import java io IOException import java net DatagramPacket
  • 如何在Java程序中检索环境变量的修改值(外部修改的)?

    是否可以在 Java 程序中检索环境变量的修改值 我尝试使用System getenv 但新的值并没有体现在程序中 场景是这样的 该程序检索环境变量的值 当程序仍在运行时 该变量的值可以从外部更改 甚至可以是手动过程 例如在 Windows
  • 二维数组列表

    我听说过使用这样的二维数组 String strArr 但是有什么方法可以用列表来做到这一点吗 也许是这样的 ArrayList
  • HSQLDB - 这是主数据库文件

    我在嵌入模式下使用 HSQLDB jdbc hsqldb file abc TESTDB 创建数据库后 文件夹abc有以下文件 TESTDB lck TESTDB script TESTDB log TESTDB properties 我的
  • 在Java中,如何在单线程程序中抛出ConcurrentModificationException? [复制]

    这个问题在这里已经有答案了 我正在读这篇文章 Java常见并发问题 https stackoverflow com questions 461896 what is the most frequent concurrency problem
  • 根本原因 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    我有这个小代码用于将我的 jsp 连接到我的 mysql 数据库 String driver com mysql jdbc Driver Class forName driver String url jdbc mysql localhos
  • Java util Logger 未写入文件

    我为我的应用程序编写了一个愚蠢的记录器 它将信息 警告和严重消息写入日志文件 前一段时间它工作得很好 但突然间 它无缘无故地停止工作了 如果日志文件不存在 它会继续创建该文件 但不写入任何内容 我找不到它现在不起作用的原因 我会感谢一些帮助
  • Android ImageView未加载

    我正在使用 android imageView 并将图像放入可绘制文件夹中 并将 imageView 源更改为该图像 但它没有在预览面板中显示图像 当我在 android studio 中打开图片时 它显示这样的错误 但我可以在电脑桌面上打
  • 了解 Android 上的默认键盘

    我想知道 Android 中用户选择的默认键盘 我知道我可以使用以下命令访问启用的输入法列表InputMethodManager 但我想知道用户当前使用的是哪一个 到目前为止 我已经尝试获取当前的输入法子类型 InputMethodMana
  • 将 .cer 格式的证书添加到 .bks 密钥库中

    我需要将 cer 格式的证书添加到 BKS 密钥存储中 SO 上对此进行了描述 如何将 cer 转换为 BKS https stackoverflow com questions 21284466 how to convert cer to
  • 如何在 Java 中将 hashmap 转换为 JSON 对象 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何在 Java 中将 hashmap 转换或转换为 JSON 对象 然后再次将 JSON 对象转换为 JSON 字符串 您可以使用 new
  • 预期类型:java.lang.Integer,实际值:org.hibernate.id.IdentifierGeneratorHelper$2

    当我尝试调用 save 方法时 我的代码中出现此错误 当我在 JBoss 服务器上时 此方法工作正常 现在我转到 tomcat 服务器 7 ERROR HHH000123 IllegalArgumentException in class
  • 如何动态更新属性文件?

    我的应用程序是一个批处理过程 它从 application properties 文件中提取环境变量 我使用的密码必须每隔几个月更新一次 我想自动化密码更新过程并将更新后的密码保存在属性文件中 以便在将来的运行中使用 但我尝试进行的任何更新
  • 如何使用 Jersey 的内部路由机制来提取类/方法引用?

    我正在运行 Jersey 1 8 应用程序 Jersey 作为 Servlet 运行 我需要写一个小服务程序过滤器给定一个简单的请求 响应 能够确定哪个 REST 资源 方法将响应该请求并从注释中提取值 例如 假设我有以下资源 Path f
  • 关于 servlet 的简要想法[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 从哪里可以获得有关 servlet 的知识 大多数人会从 Sun 的有关 servlet 的官方教程开
  • Java Marine API - 寻找 NMEA 数据

    我的最终目标是从 Adafruit Ultimate GPS NMEA 0183 标准 接收纬度和经度 GPS 信息到我的 Java 应用程序 我正在使用 Java Marine API 来执行此操作 然后 当前位置将与时间戳一起写入数据库
  • Swing JTable:当行可见或滚动到底部时发生事件?

    我正在寻找一种方法 以便在 JTable 滚动时收到通知 以便特定行变得可见 或者在表底部滚动到视图中时失败 理想情况下 这应该在不轮询的情况下完成 而是通过一些事件触发来完成 有任何想法吗 Add a ChangeListener到滚动窗
  • 在java中读取文本文件[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当每行都包含整数 字符串和双精度数时 如何在 Java 中读取 txt 文件并将每一行放入数组中 每行都有不同数量的单词 数字 Try
  • Java 将函数添加到 json 对象而不使用引号。

    我正在用 java 构建一个 json 对象 我需要将一个函数传递到我的 javascript 中并使用 jquery isFunction 对其进行验证 我遇到的问题是我必须将 json 对象中的函数设置为字符串 但 json 对象将周围

随机推荐

  • 将 $or 与 $elemMatch 和数组外部的条件一起使用

    我的基本结构是我有一个 User 对象和一个包含 subjectId 和每小时价格的会话对象 User defaultHourly Number subjects id String hourly Number 我这样使用 elemMatc
  • 如何在 JavaScript 中计算负整数的模?

    我试图通过递增或递减 1 来迭代 jQuery 对象数组 因此 对于递减部分 我使用以下代码 var splitted id currentDiv attr id split var indexOfDivToGo parseInt spli
  • Vagrant 与 apache 同步文件夹权限问题

    我正在运行 Centos6 4 机器 Running vagrant upVagrant 文件中没有同步文件夹配置就可以了 我可以通过以下方式访问我的主机http localhost 8080它显示 Apache 页面 我可以在中创建ind
  • 比较rapidjson::文档

    我有两个 RapidJSON 文档 一个是我在运行时创建的 另一个是从磁盘读取的 我想比较这两个文件是否相似 比较 RapidJSON 文档的最佳方法是什么 我的 JSON 看起来像这样 SimpleCompany Manager read
  • 如何使用 PHP 读取串口 [重复]

    这个问题在这里已经有答案了 如何使用 php 从连接到我的服务器 运行 kali linux 的旧笔记本电脑 上的 COM 端口的 arduino 读取串行数据 以便我可以在网页上显示数据 我读过有关同一问题的其他问题 所有这些问题要么超级
  • 虚幻引擎 4 中的 C++ 嵌套 JSON

    我有一个从服务器获取的 JSON 对象 如下所示 state 1 player1 alias Player Name ready 0 我能够获取 JSON 将其解析为 FJsonObject 并使用以下代码检索 JSON 对象第一级中的任何
  • 使用多个 Getter 时用 Try-Catch 代替 Null 检查

    我的问题如下 我有一个很长的 Getter 即 objectA getObjectB getObjectC getObjectD getObjectE getName 由于 糟糕的 数据库 实体设计 有些东西比其他东西晚于其他东西引入 它发
  • 获取所选项目的详细信息

    我正在使用sap m ObjectListItem作为我已从 API 绑定 JSON 数据的列表项 但是 当我按下某个项目时 我找不到从列表中获取所选项目的方法 甚至获得该物品的钥匙也会有帮助
  • 用 unicode 分隔符分割字符串? [复制]

    这个问题在这里已经有答案了 给定字符串 str Led Zeppelin Blackdog 我该如何分割它 最终得到 Led Zeppelin Blackdog but 不是连字符 它被编码为u u2014 我该怎么做 如果您希望清楚地表明
  • 组合词频数据列表

    这似乎应该是一个显而易见的问题 但列表上的教程和文档尚未发布 其中许多问题源于我的文本文件的巨大大小 数百 MB 以及我试图将它们归结为我的系统可以管理的内容 因此 我正在分段进行工作 现在正在尝试合并结果 我有多个词频列表 大约 40 个
  • 如何从堆栈帧中获取泛型参数的类型?

    我们应该通过工厂实例化我们的实体 因为它们在客户端和服务器上的设置不同 我想确保情况确实如此 但无法完全使其发挥作用 public interface IEntityFactory TEntity Create
  • jQuery basic:当单击该行的按钮时,如何删除该行?

    tableid tbody last append html 这会动态创建表行 每个新创建的行都有一个 删除 按钮 现在 如果我单击删除按钮 该行将被删除 我怎样才能做到这一点 提前致谢 buttonSelector live click
  • C++ 编译器如何确保不同但相邻的内存位置可以安全地在不同线程上使用?

    可以说我有一个结构 struct Foo char a read and written to by thread 1 only char b read and written to by thread 2 only 现在据我了解 当两个线
  • R-paste() 函数中的新行[重复]

    这个问题在这里已经有答案了 使用函数时如何插入新行paste http stat ethz ch R manual R patched library base html paste html或者 R 中连接字符串的任何函数 关于这个主题有
  • Ollydbg 1.10“返回用户模式”不起作用

    我尝试学习 莉娜为新手倒车 https tuts4you com download php view 125 当出现一些麻烦时 我使用 ollyDbg 启动 Pixtopian Book 然后尝试使用 MessageBox 来显示有关未注册
  • 将 Apache LANG 更改为 en_GB.UTF-8

    我希望将 Apache 环境 LANG 从 C 更改为en GB UTF 8但找不到在哪里 里面 etc apache2 apache2 conf我添加了AddDefaultCharset UTF 8 基于此 https stackover
  • Java中的静态方法可以使用对象实例来访问[重复]

    这个问题在这里已经有答案了 在 Java 中 创建静态方法来访问它 而无需任何对象实例 这对我来说有一定道理 但最近我发现了一件奇怪的事情 Java中的静态方法也可以通过其对象实例来访问 这对我来说看起来很奇怪 大家知道为什么Java要提供
  • 电子,从浏览器窗口打印到PDF

    我了解电子中 printToPDF 的常用方法是在main调用以下代码的过程 const BrowserWindow require electron const fs require fs let win new BrowserWindo
  • ImageView 中心与 ScaleType Matrix 就位

    我正在使用 ImageView 的缩放效果 所以我需要使用scaletype matrix 现在 我想将中心位置设置为 ImageView 但我无法设置它 请帮助我解决这个问题 布局 xml
  • 找到三元组中间值的最快方法?

    给定的是一个由三个数值组成的数组 我想知道这三个数值的中间值 问题是 最快的方法是什么找到三者的中间点 我的方法是这种模式 因为有三个数字 所以有六种排列 if array randomIndexA gt array randomIndex