10得票2回答
如何检查/查找一个元素是否在DEQUE中

在上面的代码中,else-if部分给我报错了。 else-if 的意思是:如果 x 的值不在 deque 中,则...#include <iostream> #include <ctime> #include <stack> #include <deq...

7得票3回答
最长公共连续子序列 - 算法

我的问题很简单:是否有一种O(n)算法可以在序列A和B之间找到最长的连续子序列?我搜索过,但是所有的结果都是关于LCS问题的,而这不是我想要的。 注意:如果您愿意提供任何示例代码,欢迎您这样做,但请尽可能使用C或C++。 编辑:这里有一个例子: A: { a, b, a, b, b, b...

9得票6回答
Java字符串排列组合查找

我正在编写一个 Android 文字应用程序。我的代码包括一种方法,可以查找长度至少为3的7个字母字符串及其子字符串的所有组合。然后将所有可用的组合与词典中的每个单词进行比较,以查找所有有效的单词。我使用了递归方法。以下是代码。 // Gets all the permutations of...

9得票2回答
最佳顺序来暴力破解密码锁的按键代码

可能是重复的问题: 需要帮助构建高效的穷举搜索算法 想象一下,您必须在键盘上输入正确的4位代码才能打开锁定的门。每次按键后,锁都会评估最后输入的4个数字的序列,即通过输入123456,您已经评估了3个代码:1234,2345和3456。 评估所有10^4种不同组合的最短按键序列是什么...

30得票5回答
动态规划中的记忆化或表格法

有许多问题可以使用动态规划解决,比如最长递增子序列问题。这个问题可以通过以下两种方法之一解决: 备忘录法(自顶向下)- 使用递归来解决子问题,并将结果存储在某个哈希表中。 表格法(自底向上)- 使用迭代方法解决问题,先解决较小的子问题,然后在执行更大的问题时使用它们。 我的问题是哪种方...

12得票3回答
Linux:如何对一个包含10^10条记录的500GB文本文件进行排序

我有一个500GB的文本文件,大约有100亿行需要按字母顺序排序。有什么最好的算法可以使用吗?我的实现和设置可以改进吗? 目前,我正在使用coreutils sort命令: LANG=C sort -k2,2 --field-separator=',' --buffer-size=(80%...

15得票6回答
什么是判断有向图是否单连通的最有效方法?

我正在完成一项任务,其中一个问题要求推导出一种算法来检查有向图G=(V,E)是否为单连通(对于所有不同的顶点u,v,从u到v最多只有一条简单路径)。 当然,您可以采用暴力方式进行检查,这也是我目前正在做的事情,但我想知道是否有更有效的方法。有谁能指点我一下吗?

12得票3回答
一个大集合的第n个或任意组合

我有一组数字,范围从[0, ....., 499]。目前正在使用C++的std::next_permutation按顺序生成组合。参考文献,我要提取的每个元组的大小为3,因此我返回连续的结果,例如[0,1,2],[0,1,3],[0,1,4],... [497,498,499]。 现在,我想...

17得票3回答
"用图案填充瓷砖"难题

我在为一个基于瓷砖的游戏编写随机关卡生成器时遇到了一个有趣的问题。我已经实现了一个暴力求解器,但它的速度指数级增长,显然不适合我的用例。我并不一定要寻找完美的解决方案,只要有一个“足够好”的解决方案就可以满足我的要求。 问题陈述: 假设你有以下所有或部分可用的瓷砖(这是将所有可能的4位模式...

24得票8回答
当整数范围为[1,100]时,对100万个整数进行排序的最快方法是什么?

备注:我考虑过基数排序、桶排序和计数排序。 有没有什么方法可以达到O(n)?