问题标签 [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.
c++ - 编译时 sizeof_array 不使用宏
这只是过去几天困扰我的事情,我认为不可能解决,但我以前见过模板魔术。
开始:
要获取标准 C++ 数组中的元素数量,我可以使用宏 (1) 或类型安全的内联函数 (2):
(1)
(2)
如您所见,第一个存在宏的问题(目前我认为这是一个问题),而另一个存在无法在编译时获取数组大小的问题;即我不能写:
或者
有谁知道这是否可以解决?
更新:
这个问题是在引入 constexpr 之前创建的。现在你可以简单地使用:
java - Java Puzzler - 谁能解释这种行为?
上述程序产生以下输出:
我不明白为什么print()
inAbstractBase
构造函数总是被映射到最派生的类(这里Derived1
)print()
为什么不去DerivedClass
的print()
?有人可以帮助我理解这一点吗?
algorithm - 创建数独谜题时的重复问题
我正在尝试创建自己的普通 9x9数独游戏。
我将问题分为两部分-
- 创建一个完全填充的数独,和
- 从网格中删除不必要的数字
现在,我坚持第一部分。
这是我简要使用的算法:
a)首先我选择一个数字(比如1),生成一个随机单元格位置,如果
- 该单元尚未被占用,并且
- 如果该行还没有编号,并且
- 如果该列还没有编号,并且
- 如果 3x3 框还没有编号
b) 现在我检查一种情况,即在一行、一列或一个框中,只有一个地方是空的,然后我填写
c)我检查是否有一个数字不存在于一个框中,但存在于同一行和同一列的框中(我在这里谈论的是 3x3 框),数字的位置是固定的,我填写它.
d) 我重复上述步骤,直到每个数字在网格上出现九次。
我面临的问题是,我经常遇到这样的中间情况:
看到写有 [4/2] 的地方了吗?由于标有 [] 的框,那是 2 和 4 的位置。
我能做些什么来避免陷入这种情况(因为这种情况是一个僵局 - 我无法继续前进)
algorithm - 帮助理解埃拉托色尼筛法的实施
这很无聊,我知道,但我需要一点帮助来理解 Eratosthenes 筛的实现。这是这个编程实践问题的解决方案。
我遇到问题的部分是startj
. 现在,我可以看到p
将从 3 开始的奇数循环,定义为(+ i i 3)
。但我不明白 and 之间的关系p
,startj
即(+ (* 2 i i) (* 6 i) 3)
.
编辑:我知道这个想法是跳过以前筛选过的数字。谜题定义指出,在筛选一个数字时x
,筛选应该从 的平方开始x
。因此,在筛选 3 时,从消除 9 开始,依此类推。
但是,我不明白的是作者是如何想出这个表达的startj
(从代数上讲)。
来自拼图评论:
通常,当按 n 筛选时,筛选从 n 平方开始,因为所有先前的 n 倍数都已被筛选。
表达式的其余部分与数字和筛分索引之间的交叉引用有关。表达式中有 2,因为我们在开始之前消除了所有偶数。表达式中有 3,因为 Scheme 向量是从零开始的,而数字 0、1 和 2 不是筛子的一部分。我认为6实际上是2和3的组合,但是我看代码已经有一段时间了,所以我把它留给你去弄清楚。
如果有人能帮我解决这个问题,那就太好了。谢谢!
data-structures - 链接列表算法查找加起来为 10 的对
您能否建议一种算法,在链接列表中找到所有节点对,加起来为 10。我想出了以下内容。
算法:比较每个节点,从第二个节点开始,每个节点从头节点开始直到前一个节点(在被比较的当前节点之前)并报告所有这样的对。
我认为这个算法应该可以工作,但它肯定不是复杂度为 O(n2) 的最有效的算法。
任何人都可以暗示一个更有效的解决方案(可能需要线性时间)。这种解决方案可以使用附加或临时节点。
java - 简单的 Java 地图拼图
这种通用库方法的最佳实现是什么?
与大多数编码难题一样,判断此难题的标准按以下顺序排列:
- 完整性
- 正确性
- 表现
- 美丽
- 收到 PayPal 捐款
编辑:
好吧,既然它已经关闭,我不妨发布答案。我认为这可能是最佳的:
一个聪明的简单解决方案是:
它确实分配了一个实例,但它为地图实现提供了更多的机会来做一些优化的事情。
c - C Puzzle - 玩类型
请检查以下程序。
以下是问题
- 程序的输出是什么?
哪里 ';' 终止“struct st”的声明?
根据 ISO IEC 9899 - 1999 规范,声明应以“;”结尾。
/li>如果“struct st”的声明仅代表函数“fn”的返回类型,那么它对其他函数(main)如何可见?
puzzle - 从标题中识别文件格式?
我有一些文件,其中有标题,
你能帮我找出它是从哪个软件创建的吗?
我所拥有的唯一信息是,该文件是在 2000-2003 年左右创建的。
我想解析这些文件并想提取一些数据。
谢谢,桑尼。
.net - 如何最优雅地遍历 C# 中的并行集合?
迭代产生一组结果“a1”、“b2”、“c3”的最优雅的方法是什么?
algorithm - 程序员之谜:在整个游戏中编码棋盘状态
严格来说不是一个问题,更像是一个谜......
多年来,我参与了一些新员工的技术面试。除了问标准的“你知道 X 技术吗”问题之外,我还试图了解他们如何处理问题。通常,我会在面试前一天通过电子邮件将问题发送给他们,并期望他们在第二天提出解决方案。
通常结果会非常有趣——错误但有趣——如果他们能解释为什么他们采取特定方法,他们仍然会得到我的推荐。
所以我想我会向 Stack Overflow 的观众提出我的一个问题。
问题:您能想到的对国际象棋游戏(或其子集)状态进行编码的最节省空间的方式是什么?也就是说,给定一个棋盘,棋子是合法排列的,对这个初始状态和玩家在游戏中采取的所有后续合法移动进行编码。
答案不需要代码,只需描述您将使用的算法。
编辑:正如其中一位海报指出的那样,我没有考虑移动之间的时间间隔。也可以随意将其作为可选的额外内容:)
EDIT2:只是为了进一步澄清......请记住,编码器/解码器是规则感知的。唯一真正需要存储的是玩家的选择 - 可以假设编码器/解码器知道其他任何内容。
EDIT3:在这里很难选出赢家:) 很多很棒的答案!