问题标签 [lexicographic-ordering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
173486 浏览

java - Java中的字符串比较

“按字典顺序比较两个字符串”是什么意思?

0 投票
3 回答
38552 浏览

python - 忽略大小写的字符串排序列表

我有一个列表,其中包含代表动物名称的字符串。我需要对列表进行排序。如果我使用sorted(list),它将首先以大写字符串给出列表输出,然后是小写。

但我需要以下输出。

输入:

输出:

0 投票
4 回答
214 浏览

c++ - 如何对(任意)POD C++ 结构施加字典顺序?

我有一些 POD struct foo;假设它是struct foo { int x; unsigned y; }. 我希望能够struct foo使用字典顺序来比较 's - 当然是按他们的字段顺序。也就是说,我希望所有运算符 <、==、> 等都为struct foo's工作

我可以以某种通用方式做到这一点,而无需使用任何反射巫术来修饰我的结构定义- 并且不只是拼出所有这些运算符定义吗?或者,这样做的能力是否过于依赖“语言反射”的期望?

0 投票
2 回答
3474 浏览

python - 查找字符串的下一个最高词典排列

给定一个字符串 W,我想在字典上实现它的下一个字符串更大。

我到目前为止所尝试的就在这里,

因为这不是解决这个问题的有效方法。你能建议我更好的方法来解决这个问题吗

0 投票
4 回答
5071 浏览

javascript - Codewars:其中有哪些?字典顺序(Javascript)

我目前正在尝试在 javascript 中的 Codewars 中解决以下问题。下面是问题:

“给定两个字符串数组 a1 和 a2 按 a1 字符串的字典顺序返回一个排序数组 r,这些字符串是 a2 字符串的子字符串。”

下面是我为这个问题写的代码:

以下是我必须通过的示例测试:

我的代码似乎通过了所有示例测试,但我无法通过所有规范。它说我在 10 个规范中没有通过 5 个规范。我不知道为什么我不符合这些规格。我的代码有问题还是有什么办法可以让我的代码更好?

0 投票
2 回答
581 浏览

java - 给定一个整数 n,按字典顺序返回 1 - n

例如。For example, given 13, return: [1,10,11,12,13,2,3,4,5,6,7,8,9].

下面的解决方案确实有效。经过一番挣扎后我找到了它,但我无法理解它实际上是如何工作的。这似乎是纯粹的魔法。当我们进行递归调用时,start第二次递归后参数到底如何仍然是 10

我不相信魔法,所以有人可以解释一下这是如何工作的吗?第一次迭代start是 1 并且 end是 9 正如预期的那样。然后按照我在第二次迭代中的预期开始是 10 和 19。然后,我希望在我们进行下一次递归调用后开始为 100,结束为 109;但是,它们与之前的递归一样:10 和 19。

0 投票
1 回答
474 浏览

java - 在 Java 8 Comparator 中执行 Ordering.lexicographical() 的等效方法是什么?

有没有办法用 Java 8 Comparator 实现 Ordering.lexicographical() ?

Comparator.thenCompare 似乎仅限于此

0 投票
2 回答
124 浏览

python - 为二维数组的重复元素分配相同的字典顺序

我正在尝试按字典顺序排列数组组件。下面的代码工作正常,但我想为相等的元素分配相等的等级。

rank 变量包含[2, 0, 4, 3, 1],但[2, 0, 4, 2, 1]需要一个 rank 数组,因为元素[1, 2, 3](索引 0 和 3)共享相同的排名。连续的排名数字是可以的,所以[2, 0, 3, 2, 1]也是一个可接受的排名数组。

0 投票
1 回答
418 浏览

javascript - 交换 LexOrder 联合查找

所以我在做面试练习题,我遇到了这个问题:给定一个字符串 str 和一对数组,指示字符串中的哪些索引可以交换,返回执行允许交换后的字典顺序最大的字符串。您可以多次交换索引。

例子

对于 str = "abdc" 和 pairs = [[1, 4], [3, 4]],输出应该是 swapLexOrder(str, pairs) = "dbca"。

通过交换给定的索引,您可以获得字符串:“cbda”、“cbad”、“dbac”、“dbca”。此列表中按字典顺序排列的最大字符串是“dbca”。

我有一个涉及寻找工会的有效答案,但我的答案太慢了:

有人可以帮我调整代码以提高速度吗?这是我的代码:

它可能是我用来查找工会的功能,但我在想也许我可以在不创建哈希的情况下做到这一点?此外,如果你知道解决问题的更好方法,我总是愿意学习一些新的东西。谢谢!

0 投票
1 回答
707 浏览

algorithm - 按字典顺序按升序创建字符串列表

我想生成一个算法,我想在其中按字典顺序获取下一个字符串。

假设我想生成一个长度为 26 的列表,那么它是

现在假设我想生成一个长度为 260 的列表,那么它是

这种类型的算法有最大限制。但我不想要这种类型的限制。它可能是 10000 或 100 万。

要求

算法应该以这样一种方式工作,即先前的字符串作为由它生成的参数传递。它应该按字典顺序生成下一个字符串。而且我不想使用时间戳(1503314045645)

谢谢