有效地找到独特的排列

2023-11-27

我有以下问题。我需要计算一个集合的排列;然而,该集合可能包含两个相同的元素,因此会导致重复排列。例如:

给定集合[ 0 0 1 2 ],排列包括以下可能性:

 1     2     0     0
 1     2     0     0

但是,我想避免类似的相同排列。在 MATLAB 中我可以简单地这样做:

unique(perms([ 0 0 1 2 ]), 'rows')

但这里的问题是效率 - 我在一个巨大的过程中重复这样做for循环和所需的排序unique太慢了。所以我的问题是:我可以计算这种性质的独特排列吗directly无需事后循环结果?我正在 MATLAB 中工作,但只是一个通用的解决方案可能会有帮助,尽管可以在 MATLAB 中进行矢量化的东西可能是理想的!

据我所知,现有的问题并没有完全涵盖这个问题,但如果之前已经回答过这个问题,我们深表歉意。


看来这是一个经常出现的问题。Here是 John d'Errico 的文件(uniqueperms)这似乎可以非常有效地解决这个问题。作为替代方案,还有另一个 FEX 提交here盖德·里奇微;您必须进行一些分析才能看出哪个更快。

请注意,由于 Matlab JIT 的限制,如果循环调用非内置函数,则循环不会加速,因此将这些函数的内容(和/或对其进行专门化)复制粘贴到循环中可能会有所帮助。 )。

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

有效地找到独特的排列 的相关文章

  • 使用Windows 7计算器进行对数计算[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用Windows计算器在科学模式中为了求解一个非常基本的对数方程 但不幸的是 我无法做到这一点 问题是这样的 log 5 125 非常感谢您的帮
  • 如何使用SIFT算法计算两幅图像的相似度?

    我已经用过SIFT http en wikipedia org wiki Scale invariant feature transform实施安德里亚 维达尔迪 http www vlfeat org overview sift html
  • scipy distance_transform_edt 函数如何工作?

    https docs scipy org doc scipy 0 14 0 reference generated scipy ndimage morphology distance transform edt html https doc
  • JS中如何将笛卡尔坐标转换为极坐标?

    我需要使用笛卡尔坐标中的 X 和 Y 来了解极坐标中的旋转角度 How to do it in JS without a lot of IF statements I know that I can do it using 但我认为这对性能
  • 对文本变量进行数学求和? (例如 5865/100 )

    我有一个变量是 whatever 5865 100 这是一个文本变量 我希望它计算 5865 100 以便我可以将其添加到其他数字并进行计算 Number format 不起作用 因为它只返回 5 865 而我希望它返回 58 65 我可以
  • 各向异性扩散二维图像[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在二维图像上使用各向异性扩散 我想使用 python 但不介意使用 matlab 或 c 他们有我
  • 将 1970 年以来的秒数转换为日期的数学,反之亦然

    我自 1970 年 1 月 1 日 00 00 以来的秒数为 int64 以纳秒为单位 我正在尝试将其转换为月 日 年 星期几 迭代地执行此操作很容易 我可以做到这一点 但我想以公式化的方式执行此操作 我正在寻找实际的数学 老问题的新答案
  • 给定三点计算仿射变换

    我有两张图像 并使用筛选找到了三个相似的二维点 我需要计算图像之间的仿射变换 不幸的是 我错过了讲座 而且那里的信息对我来说有点密集 计算这个 2x3 矩阵的一般方法是什么 我有 2x3 矩阵 x1 y1 x2 y2 x3 y3 中的点矩阵
  • 确定时间序列数据的 SOM(自组织映射)中的集群成员资格

    我也在做一个需要对时间序列数据进行聚类的项目 我正在使用在 MATLAB 中运行的 SOM 工具箱进行聚类 但遇到了以下问题 我们如何确定哪些数据属于哪个集群 SOM从数据集中随机选择数据样本 并为每个数据样本找到BMU 据我所知 SOM算
  • Matlab中皮尔逊系数和协方差的计算

    我想计算皮尔逊相关系数 http en wikipedia org wiki Pearson product moment correlation coefficient在Matlab中 不使用Matlab的corr功能 简单地说 我有两个
  • matlab常量匿名函数仅返回一个值而不是一个数组

    我在网上查了好几天了 没有找到什么 希望能帮到你 我有一个像这样的匿名函数 f x y sin 2 pi x cos 2 pi y cos 2 pi x sin 2 pi y 需要对一系列点进行评估 例如 x 0 0 1 1 y 0 0 1
  • 高斯 RBM 在一个简单的例子上失败了

    我想对具有连续输入变量的受限玻尔兹曼机有一个具体的了解 我正在尝试设计一个最简单的示例 以便可以轻松跟踪行为 所以 就在这里 输入数据是二维的 每个数据点均取自两个对称正态分布 sigma 0 03 之一 其中心间隔良好 15 倍 sigm
  • 如何为伪随机数生成器设置自定义种子

    我需要在使用的地方进行一些测试randn伪随机数生成器 我如何自己设置种子 以便每次运行此测试时都会得到相同的结果 是的 我知道这有点奇怪 但这就是问题所在 我找到了RANDSTREAM对象具有seed属性 但它是只读的 有什么方法可以用它
  • 使用 mle() 估计自定义分布的参数

    我有以下代码 我希望估计自定义分布的参数 有关分发的更多详细信息 https stackoverflow com q 56522903 4930944 然后使用估计的参数 我想看看估计的 PDF 是否类似于给定数据的分布 它应该与给定数据的
  • 任意旋转中两条抛物线相交的代码或公式

    我正在研究一个几何问题 需要找到任何旋转中两个抛物线弧的交点 我能够通过旋转平面使弧与轴对齐来相交直线和抛物线弧 但两条抛物线不能同时与轴对齐 我正在努力推导公 式 但我想知道是否有可用的资源 我首先定义没有旋转的二维抛物线弧的方程 x t
  • php洗一副牌

    我想使用 php 创建随机桥手的集合 我认为我可以将有序的卡片包编码为字符串 deal下面 我喜欢它有 52 个字母 同时考虑大小写 我发现了 php 函数str shuffle 所以我想我可以做以下事情 pack abcdefghijkl
  • 如何确定 n 高数字金字塔中的最大路线成本

    我有一个像这样的数字金字塔 7 4 8 1 8 9 2 4 6 7 4 6 7 4 9 4 9 7 3 8 8 routes 32 每个数字都按其系列中的强大程度进行索引 0 9 gt 1 1 8 gt 5 2 8 gt 4 3 7 gt
  • MATLAB 中的神经网络

    我在 MATLAB 中训练了异或神经网络并得到了这些权重 iw 2 162 2 1706 2 1565 2 1688 lw 3 9174 3 9183 b 1 2 001 2 0033 b 2 3 8093 出于好奇 我尝试编写 MATLA
  • 错误:超出了程序允许的最大变量大小。使用 sub2ind 时

    请建议如何解决这个问题 nNodes 50400 adj sparse nNodes nNodes adj sub2ind nNodes nNodes ind ind 1 1 ind is a vector of indices Maxim
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub

随机推荐

  • 如何禁用 Ruby on Rails 应用程序中的所有 form_for 输入字段?

    我正在尝试让我的 Rails 应用程序变得干燥一些 所以我想在我的应用程序中渲染一个表单show查看但是disable所有输入字段 show html erb 最好的方法是什么 谢谢你的帮助 JavaScript 一种方法是使用 JS 来完
  • 有没有办法在多个特征上实现一个特征?

    为什么这不起作用 trait Update fn update mut self trait A trait B impl
  • 如何使用 Google Maps ios SDK 跟踪用户位置并显示行进路径

    我目前正在构建一个ios应用程序 我希望实现一个功能 其中用户的位置显示在Google地图视图上 并且当他们移动折线时显示用户迄今为止走过的路径 这显然需要实时发生 到目前为止 我已经初始化了 Google 地图视图 并且可以使用观察Key
  • URL 不带 .aspx 扩展名

    我注意到很多 ASP Net 站点没有以 aspx 结尾的 URL 一个例子是 https stackoverflow com questions 他们是否创建了一个 Questions 文件夹并将 Default aspx 放入其中 在这
  • 设置 Spring JPA 项目以在 MVC 项目中使用 - 创建 bean 时出错

    我在 eclipse 中开发了一个 Spring JPA 项目 它可以访问存储在 mysql 服务器中的数据 现在我需要将这个项目导入到 Spring MVC 项目中 所以 我在JPA项目的构建路径中配置导出maven依赖项 我将项目添加到
  • 将值从 HTML 传递到 SCSS

    我是 SCSS 的新手 不太确定如何使用它 我已经在 SO 和其他地方寻找解决方案 但找不到 我正在开发一个显示手机列表的应用程序 我通过调用 REST API 获取此列表 以 JSON 形式 所有手机都显示相同类型的信息 例如名称 型号
  • 如何使TabPages可拖动?

    我想让用户通过拖放来重新排列 TabPages 顺序 此外 如果用户能够将 TabPages 从一个 TabControl 拖动到另一个 TabControl 那就太酷了 两种方式都与 Firefox 和 Total Commander 类
  • 将 List[Either[A, B]] 转换为 Either[List[A], List[B]]

    如何转换List Either String Int to Either List String List Int 使用类似于猫的方法sequence 例如 xs sequence在下面的代码中 import cats implicits
  • 对月份(带字符串)排序算法

    我有这个月的数组 January March December October 我想把它排序如下 January March October December 我目前正在思考 如果 否则 可怕的级联 但我想知道是否还有其他方法可以做到这一点
  • 将 strsplit 应用于 data.frame 中的特定列

    我有一个包含分类信息的大型数据框 这是一个例子 gt d lt data frame x c 1 2 3 4 classification c cl1 scl1 cl2 cl3 bla cl4 subclass2 gt d x classi
  • onClick 事件未触发 |安卓

    我制作了一个非常简单的测试应用程序 其中包含一项活动和一种布局 这onClick第一次按下时不会触发 正如它应该的那样 活动 package com example mytest import android os Bundle impor
  • 无法 docker pull - 连接被拒绝

    我正在 ubuntu virtualbox 中从 docker 运行以下命令 并收到连接被拒绝错误 我位于公司代理后面 并配置了环境变量以使用代理以及用户名和密码 我还尝试使用代理链 root mbak1 VirtualBox sudo p
  • 有没有办法在 JSP 中填充地图?

    例如
  • 什么是“此处需要”错误

    它位于我的 Eclipse Problems 视图中 代码编译正常 但出现错误 required from here 指向一些 boost 头文件和行state data const current state interlocked co
  • 如何测试 Haskell 中的错误?

    我希望能够确保函数在接收到无效值时会抛出错误 例如 假设我有一个仅返回正数的函数 pos pos Int gt Int pos x x gt 0 x otherwise error Invalid Input 这是一个简单的例子 但我希望你
  • 冗余通用参数

    我有这两个接口和类 public interface Identifiable
  • 如何保护nodejs中的公共动态文件夹

    我在 public images picture jpg 中显示带有玉的图片 但我想保护某些图片或限制对公共文件夹的访问 该怎么做 project node modules public images image jpg javascrip
  • 如何在Excel中仅复制单元格的纯文本?

    我正在设计一个 Excel 工作表 用户将单击一个命令按钮来复制预定的单元格范围 然后 用户可以使用 Firefox 或 IE 将内容粘贴到 Web 应用程序中 Web 应用程序的设计超出了我的控制范围 目前用于数据输入的文本框是富文本输入
  • 为多个变量制作堆积条形图 - R 中的 ggplot2

    我在 ggplot2 中制作堆积条形图时遇到一些问题 我知道如何用 barplot 制作一个 但我想使用 ggplot2 因为很容易使条形具有相同的高度 如果我没有记错的话 使用 position fill 我的问题是我有多个变量 我想将它
  • 有效地找到独特的排列

    我有以下问题 我需要计算一个集合的排列 然而 该集合可能包含两个相同的元素 因此会导致重复排列 例如 给定集合 0 0 1 2 排列包括以下可能性 1 2 0 0 1 2 0 0 但是 我想避免类似的相同排列 在 MATLAB 中我可以简单