字谜算法

2024-01-27

这是为文本生成字谜词的最佳方法(最多 80 个字符长度)。 例子: 输入:狗 输出狗 dgo odg ogd gdo 神

我只是在考虑回溯解决方案,但如果文本较长,这将需要一段时间。

另一个想法是我尝试字典中的所有单词,但问题并不要求真正的单词。

有人能指出一个最小时间复杂度的解决方案吗?

谢谢你!


这是一个简单的实现,以防万一您需要:

IEnumerable<List<T>> Permutations<T>(List<T> items)
{
    if (items.Count == 0) yield return new List<T>();

    var copy = new List<T>(items);
    foreach (var i in items)
    {
        copy.Remove(i);
        foreach (var rest in Permutations(copy))
        {
            rest.Insert(0, i);
            yield return rest;
        }
        copy.Insert(0, i);
    }

}

IEnumerable<string> Anagrams(string word)
{
    return Permutations(word.ToCharArray().ToList()).Select(x => new String(x.ToArray()));
}

Adithya 给出了关于时间复杂度的答案。要理解他们的答案,你必须知道有 n! = 1*2*...*n 个项目的排列。我的算法是对此的证明(或基于直接证明)

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

字谜算法 的相关文章

  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • 为什么在 C++ 中声明枚举时使用 typedef?

    我已经很多年没有写过任何 C 了 现在我正试图重新开始 然后我遇到了这个并考虑放弃 typedef enum TokenType blah1 0x00000000 blah2 0X01000000 blah3 0X02000000 Toke
  • DataGridView 列中的数字文本框

    我有一个DataGridView 我想要它的第一列或任何所需的列 其中有textboxes在其中 成为NUMERIC ONLY 我目前正在使用这段代码 private void dataGridViewItems EditingContro
  • make_shared<>() 中的 WKWYL 优化是否会给某些多线程应用程序带来惩罚?

    前几天我偶然看到这个非常有趣的演示 http channel9 msdn com Events GoingNative GoingNative 2012 STL11 Magic Secrets作者 Stephan T Lavavej 其中提
  • 虚拟并行端口模拟器

    在我的计算机网络课程中 我们应该通过使用本机寄存器 例如使用 outportb 等命令 来学习并行端口编程 我没有并行端口 因为我住在 2011 年 但想练习这些程序 我使用 dosbox 安装了旧的 Turboc 3 IDE 有没有一个程
  • 关闭整数的最右边设置位

    我只需要关闭最右边的设置位即可 我的方法是找到最右边位的位置 然后离开该位 我编写这段代码是为了这样做 int POS int n int p 0 while n if n 2 0 p else break n n 2 return p i
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • WinForms - 加载表单时如何使用 PaintEventArgs 运行函数?

    我试图理解图形 在 Graphics FromImage 文档中 它有这样的示例 private void FromImageImage PaintEventArgs e Create image Image imageFile Image
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 在 Qt 中播放通知(频率 x)声音 - 最简单的方法?

    Qt 5 1 或更高版本 我需要播放频率为 x 的通知声音 n 毫秒 如果我能像这样组合音调那就太好了 1000Hz 持续 2 秒 然后 3000Hz 持续 1 秒 最简单的方法是使用文件 WAV MP3 例如如此处所述 如何用Qt播放声音
  • 用数组或向量实现多维数组

    我想使用单个数组或向量实现多维数组 可以像通常的多维数组一样访问它 例如 a 1 2 3 我陷入困境的是如何实施 操作员 如果数组的维数为 1 则 a 1 应该返回位于索引 1 处的元素 但是如果维数大于一怎么办 对于嵌套向量 例如 3 维
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 在 C 中使用 #define 没有任何价值

    If a define没有任何价值地使用 例如 define COMMAND SPI 默认值是0吗 不 它的评估结果为零 从字面上看 该符号被替换为空 然而 一旦你有了 define FOO 预处理器条件 ifdef FOO现在将是真的 另
  • Unity,c++ 本机插件字节数组不匹配

    在我的 C 本机插件中 我有一个调用 vector
  • 运行 xunit 测试时无法将输出打印到控制台窗口

    public class test2InAnotherProject private readonly ITestOutputHelper output public test2InAnotherProject ITestOutputHel
  • 如何知道 HTTP 请求标头值是否存在

    我确信这很简单 但是却让我感到厌烦 我在 Web 应用程序中使用了一个组件 它在 Web 请求期间通过添加标头 XYZComponent true 来标识自身 我遇到的问题是 如何在视图中检查此组件 以下内容不起作用 if Request
  • Emacs C++,打开相应的头文件

    我是 emacs 新手 我想知道 是否有在头文件 源文件和相应的源文件 头文件之间切换的快捷方式 是否有像通用 emacs 参考卡那样的参考卡 Thanks There s ff find other file 您可以使用以下方法将其绑定到
  • IDisposable 的显式实现

    虽然有很多关于IDisposable在 SO 上找到 我还没有找到答案 我通常遵循这样的做法 当我的一个班级拥有一个IDisposable对象然后它也实现IDisposable并打电话Dispose在拥有的对象上 然而最近我遇到了一个类 它
  • 如何在c中断言两个类型相等?

    在 C 中如何断言两种类型相等 在 C 中 我会使用 std is same 但搜索 StackOverflow 和其他地方似乎只能给出 C 和 C 的结果 在C中没有办法做到这一点吗 请注意 这不是询问变量是否具有某种类型 而是询问两个类
  • 是否可以使用 Dapper 流式传输大型 SQL Server 数据库结果集?

    我需要从数据库返回大约 500K 行 请不要问为什么 然后 我需要将这些结果保存为 XML 更紧急 并将该文件通过 ftp 传输到某个神奇的地方 我还需要转换结果集中的每一行 现在 这就是我正在做的事情 TOP 100结果 使用 Dappe

随机推荐

  • 有没有更好的方法来获取 PHP 的货币汇率?

    使用以下代码的货币汇率有时有效 有时无效 而且一点也不可靠 有没有更好的方法来获取 PHP 的货币汇率 public function getJPYtoUSDExchangeRate from JPY to USD amount 1 dat
  • 如何使用 setuptools 排除或忽略软件包预发布?

    我正在使用 setuptoolstensorflow包依赖 我跑步时注意到setup py install 它发现tensorflow 1 13 0rc2 当我跑步时pip 它发现tensorflow 1 12 然后我发现这张票 https
  • 设置新创建的 CAShapeLayer 的正确框架

    简而言之 苹果没有设置frame or bounds for a CAShapeLayer自动 并且苹果尚未实现等效的 UIView sizeThatFits 如果您使用路径边界框的大小设置框架 一切都会出错 无论你如何尝试设置它 它都会搞
  • 使用静态 WebDriver 实例的 java.lang.NullPointerException

    我想将我的代码分成更小的函数 但有一个问题 因为驱动程序并非适用于所有功能 所以我将它声明为常量 或者有更好的方法吗 但在第三个函数中 它在线失败 Select dropdown finance product new Select dri
  • 在多个文件中进行测试

    我正在为大型项目使用金字塔框架 我发现将所有测试放在一个中很混乱tests py文件 所以我决定创建包含我的测试文件的目录 问题是 我不知道如何告诉金字塔从这个目录运行我的测试 我正在使用运行测试python setup py test q
  • 无法从 C 应用程序访问 C++ DLL 中的变量

    我一直在修复旧版 Visual C 6 应用程序 在我放入的 C DLL 源中 extern C declspec dllexport char MyNewVariable 0 这会导致 MyNewVariable 显示在导出表中 未修饰
  • 如何在int内添加空格?

    假设我想打印数字 100000000 乍一看很难判断这个数字代表了多少百万 是一千万还是一亿 如何使 Java 中的大数字看起来更具可读性 例如这样的事情会很棒 100 000 000 你一眼就能看出这个数字是一亿 您也可以尝试 Decim
  • 如何从城市名称android代码获取经度,纬度

    我想转换从包含城市名称的文本字段中获取的文本 并且我想将其转换为经度和纬度 这就是我做的 String location city getText toString String inputLine String result locati
  • 在 React 中,可以始终调用 ReactDOM. Hydro 而不是 ReactDOM.render 吗?

    我在调用时有如下代码ReactDOM hydrate 这是共享代码 有时从节点服务器调用 有时在客户端浏览器中调用 我需要做任何不同的事情吗 然后打电话hydrate 仅在客户端调用时 通常情况下 我会打电话render const ren
  • python help('modules') 返回 ImportError

    最近 我有no想法当 我安装了这个名为 pymol 的包 今天 当我尝试复制所有安装模块的列表时 遇到了此错误 Projects python c help modules Please wait a moment while I gath
  • 如何配置sbt在运行应用程序时加载资源?

    我的代码 Java 从 jar 中读取图像 Main class getResourceAsStream res logo png 一切运行良好 如果我将应用程序打包到罐子后启动应用程序 但是当我使用 sbt 运行它时run任务 它返回我n
  • 在C#3.0中是否有更好的方法来编写这行C#代码?

    我有一个财产声明如下 public decimal MyProperty get set 我需要将此值作为字符串传递给另一个方法 因此我认为这样做的唯一方法如下 MyProperty null null MyProperty ToStrin
  • Pandas 数据框转换:从字典 k-v 对中添加列[重复]

    这个问题在这里已经有答案了 我想将 DataFrame 转换为如下所示 dictionary 0 b 2 a 1 1 c 4 b 3 from import pandas df pandas DataFrame df dictionary
  • Eclipse:如何删除添加到 Jar 中的附加源

    我正在使用 Eclipse IDE Helios 版本 作为构建路径的一部分 我有一个该应用程序的 jar 文件 我已使用附加源选项附加了该 jar 文件的源代码 请告诉我如何删除该 jar 文件的附加源 打开 classpath文件并删除
  • JSONStore Worklight - 大小限制

    JSONStore 为我们提供了一种与服务器同步数据并跟踪用户在离线状态下所做的更改的好方法 JSONStore 上可以保存的信息量是否有限制 我发现 Webkit 数据库有 5 MB 的限制 而 SQLLite 数据库则没有限制 还想知道
  • 从短代码函数内部调用 WordPress get_template_part 首先呈现模板

    我有一个页面需要允许用户输入一段文本 然后在该文本后面插入一个短代码来呈现帖子列表 然后添加更多自由格式的文本 我的想法是他们应该能够插入一个短代码来输出帖子 这样他们就可以简单地在他们希望帖子出现的地方添加短代码 我目前的逻辑是检索在自己
  • Rails form_tag url 路径

    这看起来应该很简单 但它一直给我带来问题 我有一个从模型中提取的 select tag 我想要的只是让一个人从下拉列表中选择他们的位置 按提交并将其带到该地点页面 这是我所拥有的 div p p div 问题是它当然想要一个 id但它不会拉
  • 如何从 VBA 调用 python 程序?

    正如标题所说 我有一个 python 程序 它处理我从电子邮件下载的一些数据文件 我正在编写一个vba脚本 它可以下载电子邮件附件并执行python程序来处理电子邮件附件 这样我就可以自动化我的日常工作 任何想法 一种方法是将 Python
  • 纯java sqlite库?

    I saw Java 和 SQLite https stackoverflow com questions 41233 java and sqlite 但是哪些是纯java制作的并且是平台无关的呢 另外 从哪一个开始最好 我从来没有使用过s
  • 字谜算法

    这是为文本生成字谜词的最佳方法 最多 80 个字符长度 例子 输入 狗 输出狗 dgo odg ogd gdo 神 我只是在考虑回溯解决方案 但如果文本较长 这将需要一段时间 另一个想法是我尝试字典中的所有单词 但问题并不要求真正的单词 有