问题标签 [puzzle]

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 投票
10 回答
17036 浏览

c++ - 编译时 sizeof_array 不使用宏

这只是过去几天困扰我的事情,我认为不可能解决,但我以前见过模板魔术。

开始:

要获取标准 C++ 数组中的元素数量,我可以使用宏 (1) 或类型安全的内联函数 (2):

(1)

(2)

如您所见,第一个存在宏的问题(目前我认为这是一个问题),而另一个存在无法在编译时获取数组大小的问题;即我不能写:

或者

有谁知道这是否可以解决?

更新

这个问题是在引入 constexpr 之前创建的。现在你可以简单地使用:

0 投票
2 回答
272 浏览

java - Java Puzzler - 谁能解释这种行为?

上述程序产生以下输出:

我不明白为什么print()inAbstractBase构造函数总是被映射到最派生的类(这里Derived1print()

为什么不去DerivedClassprint()?有人可以帮助我理解这一点吗?

0 投票
3 回答
849 浏览

algorithm - 创建数独谜题时的重复问题

我正在尝试创建自己的普通 9x9数独游戏

我将问题分为两部分-

  1. 创建一个完全填充的数独,和
  2. 从网格中删除不必要的数字

现在,我坚持第一部分。


这是我简要使用的算法:

a)首先我选择一个数字(比如1),生成一个随机单元格位置,如果

  • 该单元尚未被占用,并且
  • 如果该行还没有编号,并且
  • 如果该列还没有编号,并且
  • 如果 3x3 框还没有编号

b) 现在我检查一种情况,即在一行、一列或一个框中,只有一个地方是空的,然后我填写

c)我检查是否有一个数字不存在于一个框中,但存在于同一行和同一列的框中(我在这里谈论的是 3x3 框),数字的位置是固定的,我填写它.

d) 我重复上述步骤,直到每个数字在网格上出现九次。


我面临的问题是,我经常遇到这样的中间情况:

看到写有 [4/2] 的地方了吗?由于标有 [] 的框,那是 2 和 4 的位置。

我能做些什么来避免陷入这种情况(因为这种情况是一个僵局 - 我无法继续前进)

0 投票
2 回答
870 浏览

algorithm - 帮助理解埃拉托色尼筛法的实施

这很无聊,我知道,但我需要一点帮助来理解 Eratosthenes 筛的实现。这是这个编程实践问题的解决方案。

我遇到问题的部分是startj. 现在,我可以看到p将从 3 开始的奇数循环,定义为(+ i i 3)。但我不明白 and 之间的关系pstartj(+ (* 2 i i) (* 6 i) 3).


编辑:我知道这个想法是跳过以前筛选过的数字。谜题定义指出,在筛选一个数字时x,筛选应该从 的平方开始x。因此,在筛选 3 时,从消除 9 开始,依此类推。

但是,我不明白的是作者是如何想出这个表达的startj(从代数上讲)。

来自拼图评论:

通常,当按 n 筛选时,筛选从 n 平方开始,因为所有先前的 n 倍数都已被筛选。

表达式的其余部分与数字和筛分索引之间的交叉引用有关。表达式中有 2,因为我们在开始之前消除了所有偶数。表达式中有 3,因为 Scheme 向量是从零开始的,而数字 0、1 和 2 不是筛子的一部分。我认为6实际上是2和3的组合,但是我看代码已经有一段时间了,所以我把它留给你去弄清楚。


如果有人能帮我解决这个问题,那就太好了。谢谢!

0 投票
4 回答
2516 浏览

data-structures - 链接列表算法查找加起来为 10 的对

您能否建议一种算法,在链接列表中找到所有节点对,加起来为 10。我想出了以下内容。

算法:比较每个节点,从第二个节点开始,每个节点从头节点开始直到前一个节点(在被比较的当前节点之前)并报告所有这样的对。

我认为这个算法应该可以工作,但它肯定不是复杂度为 O(n2) 的最有效的算法。

任何人都可以暗示一个更有效的解决方案(可能需要线性时间)。这种解决方案可以使用附加或临时节点。

0 投票
3 回答
2576 浏览

java - 简单的 Java 地图拼图

这种通用库方法的最佳实现是什么?

与大多数编码难题一样,判断此难题的标准按以下顺序排列:

  1. 完整性
  2. 正确性
  3. 表现
  4. 美丽
  5. 收到 PayPal 捐款

编辑:

好吧,既然它已经关闭,我不妨发布答案。我认为这可能是最佳的:

一个聪明的简单解决方案是:

它确实分配了一个实例,但它为地图实现提供了更多的机会来做一些优化的事情。

0 投票
2 回答
412 浏览

c - C Puzzle - 玩类型

请检查以下程序。

以下是问题

  1. 程序的输出是什么?
  2. 哪里 ';' 终止“struct st”的声明?

    根据 ISO IEC 9899 - 1999 规范,声明应以“;”结尾。

    /li>
  3. 如果“struct st”的声明仅代表函数“fn”的返回类型,那么它对其他函数(main)如何可见?

0 投票
2 回答
498 浏览

puzzle - 从标题中识别文件格式?

我有一些文件,其中有标题,

你能帮我找出它是从哪个软件创建的吗?

我所拥有的唯一信息是,该文件是在 2000-2003 年左右创建的。

我想解析这些文件并想提取一些数据。

谢谢,桑尼。

0 投票
4 回答
360 浏览

.net - 如何最优雅地遍历 C# 中的并行集合?

迭代产生一组结果“a1”、“b2”、“c3”的最优雅的方法是什么?

0 投票
31 回答
53734 浏览

algorithm - 程序员之谜:在整个游戏中编码棋盘状态

严格来说不是一个问题,更像是一个谜......

多年来,我参与了一些新员工的技术面试。除了问标准的“你知道 X 技术吗”问题之外,我还试图了解他们如何处理问题。通常,我会在面试前一天通过电子邮件将问题发送给他们,并期望他们在第二天提出解决方案。

通常结果会非常有趣——错误但有趣——如果他们能解释为什么他们采取特定方法,他们仍然会得到我的推荐。

所以我想我会向 Stack Overflow 的观众提出我的一个问题。

问题:您能想到的对国际象棋游戏(或其子集)状态进行编码的最节省空间的方式是什么?也就是说,给定一个棋盘,棋子是合法排列的,对这个初始状态和玩家在游戏中采取的所有后续合法移动进行编码。

答案不需要代码,只需描述您将使用的算法。

编辑:正如其中一位海报指出的那样,我没有考虑移动之间的时间间隔。也可以随意将其作为可选的额外内容:)

EDIT2:只是为了进一步澄清......请记住,编码器/解码器是规则感知的。唯一真正需要存储的是玩家的选择 - 可以假设编码器/解码器知道其他任何内容。

EDIT3:在这里很难选出赢家:) 很多很棒的答案!