将数组拆分为唯一的对

2023-11-22

假设我从一个简单的数组开始(理论上可以是任意长度):

$ids  = array(1,2,3,4);

将这个数组拆分为一组唯一对的数组的最佳解决方案是什么,例如:

$pair[0] = array(1,2);
$pair[1] = array(1,3);
$pair[2] = array(1,4);
$pair[3] = array(2,3);
$pair[4] = array(2,4);
$pair[5] = array(3,4);

The simplest solution is to use a nested loop and build combinations as you go, although note that the complexity here is O(n2).

$ids = array(1,2,3,4,4);
$combinations = array();

$ids = array_unique($ids); // remove duplicates
$num_ids = count($ids);

for ($i = 0; $i < $num_ids; $i++)
{
  for ($j = $i+1; $j < $num_ids; $j++)
  {
    $combinations[] = array($ids[$i], $ids[$j]);
  }
}

请参阅以下网址的实际操作:http://www.ideone.com/9wzvP

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

将数组拆分为唯一的对 的相关文章

随机推荐

  • 使用 JavaScript 包装一组 DOM 元素

    我有一系列p我页面上的标签 我想将它们全部包装到一个容器中 例如 p foo p p bar p p baz p 我想将以上所有标签包装到一个容器中 如下所示 div p foo p p bar p p baz p div 如何包裹一个No
  • 如何在 MVC 下创建简洁且 RESTful 的向导?

    我尝试在构建应用程序时尽可能保持 RESTful 但我不确定的一件事是如何创建一个向导式工作流程 保持 RESTful 和简洁 以多页面注册流程为例 选项1 我可以为每个步骤创建一个控制器 并在用户到达该步骤 或返回该步骤 时调用 new
  • CakePHP 2.0 选择表单 多选

    我有一个下拉菜单 您可以在其中选择多个值 现在假设我想编辑我的信息并创建一个包含多个选定值的下拉菜单 试图弄清楚它是如何进行的 但没有结果 假设我有 selected array 3 4 options array 1 2 3 4 echo
  • 我的 powershell 脚本在预期输出之前打印“1”。为什么?

    我编写了一个简单的 powershell 脚本 用于检查 PSA 服务板上的门票数量 并输出门票数量和与其关联的颜色 但是 我的脚本在结果之前打印 1 我对 powershell 很陌生 我似乎找不到打印此内容的行 任何帮助 将不胜感激 谢
  • MVC5 帐户控制器空引用异常

    我正在尝试将用户角色实现到我的 MVC Web 应用程序中 但是我收到了一个空异常return userManager HttpContext GetOwinContext GetUserManager
  • 错误:无法加载要扩展的配置“下一个”

    我有一个使用 jest 和 react testing library 进行测试的 Nextjs 应用程序 我使用 npx eslintrc init 命令将 eslintrc 文件添加到我的项目中 每当我检查我的项目时 我都会收到以下错误
  • C# 和 VB.NET 中的转换之间的区别

    以下代码在 C 中运行良好 Int32 a b Int16 c a 0x7FFFFFFF b a 0xFFFF c Int16 b 但是这段代码崩溃并出现 OverflowExceptionVB NET Dim a b As Int32 D
  • 来自学习变量的预期张量流模型大小

    在训练用于图像分类任务的卷积神经网络时 我们通常希望我们的算法能够学习将给定图像转换为其正确标签的滤波器 和偏差 我有几个模型试图在模型大小 操作数量 准确性等方面进行比较 但是 从张量流输出的模型的大小 具体来说是模型 ckpt 数据存储
  • sql server 使用计算列

    我有一个这样的查询 select price1 price2 price3 as total price from prices 我如何使用计算列total price来计算其他总计 select price1 price2 price3
  • GoogleAppEngineLauncher 在哪里保存本地日志文件?

    GoogleAppEngineLauncher 可以在开发过程中在我的 Mac 上运行时显示我的应用程序的本地日志文件 但是 我无法更改那里的字体大小 所以我想使用tail命令自己查看日志文件 很遗憾 但我找不到日志文件 他们不在 var
  • 如何将角度项目设置为另一个角度项目的 package.json 中的依赖项

    我有三个不同的 Angular cli 项目 X Y Z 我想将 X 作为父项目 同时将 Y 和 Z 作为 npm 包依赖项添加到 X 这意味着 X package json 将包含 Y 和 Z 的依赖项 如下所示 dependencies
  • Row_Number 超过 其中 RowNumber 介于

    我尝试使用 row number 从表中选择某些行 但是sql会提示错误msg Invalid column name ROWNUMBERS 有人可以纠正我吗 SELECT ROW NUMBER OVER ORDER BY Price AS
  • SQL:如何在 orderby 中将 null 和空条目排序到前面?

    如果我的数据库中有以下条目 ID Name1 空 2 空字符串 3 阿尔法4 布拉沃5 查理 那么使用 ORDER BY 时如何将有名称的行排序到前面 如果我使用 ORDER BY Name 我会得到上面的列表 但我实际上想要 3 Alph
  • 解析注释行

    鉴于以下基本语法 我想了解如何处理注释行 缺少的是处理
  • 重定向后从 XHR 对象获取最终 url

    假设我使用 ajax 例如通过 jQuery 对实现 PRG 模式的 API 执行 POST 请求 因此它会重定向我 POST some api HTTP 1 1 303 See Other Location some other loca
  • 关于 stun 服务器的困惑

    我的要求是 我将打开一个UDP服务器监听X端口 本地机器 和machine public IP 可以发送UDP包给我 我的机器没有public IP 基本上我需要stun 我正在测试stuntman服务器 客户端项目 我在服务器 公共IP
  • x86_64 寄存器 rax/eax/ax/al 覆盖完整寄存器内容[重复]

    这个问题在这里已经有答案了 正如广泛宣传的那样 现代 x86 64 处理器具有 64 位寄存器 可以以向后兼容的方式用作 32 位寄存器 16 位寄存器甚至 8 位寄存器 例如 0x1122334455667788 rax 64 bits
  • 字符串不可变有什么好处?

    有一次我研究了字符串不可变的优点 因为它可以提高内存性能 有人可以向我解释一下吗 我在互联网上找不到它 不变性 对于字符串或其他类型 可以有很多优点 它使推理代码变得更加容易 因为您可以对变量和参数做出否则无法做出的假设 它简化了多线程编程
  • 使用 IDataReader 作为 IEnumerable 的最佳方法?

    我需要使用Linq on any 数据读取器像这样的实现 var c sqlDataReader AsEnumerable Count Example public abstract class Test public abstract S
  • 将数组拆分为唯一的对

    假设我从一个简单的数组开始 理论上可以是任意长度 ids array 1 2 3 4 将这个数组拆分为一组唯一对的数组的最佳解决方案是什么 例如 pair 0 array 1 2 pair 1 array 1 3 pair 2 array