问题标签 [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 投票
4 回答
1339 浏览

algorithm - 解决这种游戏的最佳方法是什么?

今天晚上我试图解决一个木头拼图,所以我想知道哪种方法是以编程方式解决此类问题的最佳方法。

目的是将一组实体(如三维的俄罗斯方块)组合在一起,以一种可行的方式形成一个形状,考虑到只有当它们适合这种运动时,它们才能附着或滑入结构中。 (忽略旋转,仅旋转 90°)。

查看这张图片以了解我的意思。

0 投票
11 回答
9287 浏览

puzzle - 你如何回答面试中你认为毫无意义的问题?

我提到了一些通常是面试的问题,我不明白背后的意图是什么。当然,有人可能会争论,只是为了看看你的想法,或者你的反应,但如果你问一个更有意义的谜题不是更好吗,至少你可以确定答案,或者一致地证明是正确的。例如,看这个灯泡拼图:

一个有意义的谜题:一个封闭的房间有三个灯泡,房间外面有 3 个开关,每个灯泡一个,但你不知道哪个开关对应哪个灯泡。找出哪个是哪个,你不能打开门,只有当你有答案时才能打开一次。

那么,根据我的无意义类别的皇冠珠宝是:

  • 一个人把他的车推到了一家旅馆,结果失去了财产。发生了什么?
  • 一辆校车可以装多少个高尔夫球?
  • 你必须从 A 点到 B 点。你不知道你是否能到达那里。你会怎么办?
  • 全世界有多少钢琴调音师?
  • 你被缩小到一个镍币的高度,你的质量按比例减少,以保持你原来的密度。然后你会被扔进一个空的玻璃搅拌机。刀片将在 60 秒后开始移动。你做什么工作?

在这种情况下回答的最佳策略是什么?

附录——Nikesh Arora(Google Inc. 全球销售运营和业务发展总裁)采访的摘录——

“我和拉里一起旅行,在晴朗的一天乘坐飞机,看着下面的陆地,他正在计算一支车队绘制美国每条道路每一英里的地图需要多长时间——在性月里可能有 500 辆汽车还是 3 个月内千辆汽车?这就是他的思维方式。这就是谷歌街景的诞生方式......“

我相信我会拒绝这样的想法。打我!!!

0 投票
3 回答
383 浏览

php - 玩 php 的网站

有没有我们必须使用 php 脚本解决难题的网站?类似于PythonChallenge

我知道大多数编程挑战站点,我的想法是找到一个站点,该站点有助于发现 PHP 脚本的优势和专业,就像 PythonChallenge 通过它的每个级别的 wiki 所做的那样。

0 投票
3 回答
6243 浏览

r - R 用户是否有任何编程挑战?

是否有专门针对 R 用户的具有编程挑战的网站或博客?

0 投票
5 回答
3560 浏览

algorithm - 方形拼图解决方案

问题:给定一个整数 n,打印从 1 到 n 2的数字,如下所示:

n = 4

结果是:

您如何解决它(除了下面链接中提供的解决方案)?

http://www.programmersheaven.com/mb/CandCPP/81986/81986/problem-in-making-ap-c++-program/?S=B20000

我正在寻找另一个方向。到目前为止,我试图弄清楚是否可以获得我必须填写的职位的有序列表。

这就是我正在研究的内容:有没有办法获得“fdisp”以便以这种方式解决问题,而不是在矩阵中“走”?

0 投票
7 回答
3515 浏览

python - 组合数数谜题:掷 20 个 8 面骰子,得到至少 5 个相同点数的骰子的概率是多少

假设一个游戏中一个人掷出 20 个 8 面骰子,总共有 8^20 种可能的结果。为了计算特定事件发生的概率,我们将事件发生的方式数除以 8^20。

可以计算出正确获得 5 个骰子值 3 的方法的数量。(20 选择 5)给了我们 3 的订单数量。7^15 给了我们在 15 次掷骰中无法获得 3 的方式的数量.

答案也可以看成我可以用多少种方式重新排列字符串 3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0(20 选择 5)乘以我们为零的值的总数(假设 7 个合法值)7^15(这是正确的)。

  • 问题 1:我如何计算获得完全相同值的 5 个骰子的方法数量(即,对于所有骰子值)。注意:如果我只是天真地使用上面的第一个答案并乘以 bt 8,我会得到大量的重复计算吗?

    我知道我可以解决每种情况 (5 1's), (5, 2's), (5, 3's), ... (5's, 8) 对它们求和(更简单地说 8*(5 1's) )。然后减去重叠数的总和 (5 1's) 和 (5 2's), (5 1's) 和 (5 3's)... (5 1's) 和 (5, 2's) 和 ...和 ​​(5, 8's)但这似乎非常混乱。我会以一种扩展到大量样本和大量类的方式对此进行概括。

  • 如何计算获得至少5 个相同值的骰子的方法数?

    所以 111110000000000000000 或 11110100000000000002 或 11111100000001110000 或 11011211222222223333,但不是 00001111222233334444 或 0630511514225。

我正在寻找解释数学或指向支持此的库(尤其是 python 模块)的答案。细节和例子的加分。

0 投票
1 回答
866 浏览

iphone - Reading letters from a custom iPhone keyboard

I'm trying to build an app that is a code breaking puzzle for the user. I've followed sample code on how to add a decimal to the numeric keypad and it works great. I would like to expand this so the whole keyboard is filled with custom images.

Is it possible to have a piece of code that when the user presses on a symbol the iPhone reads it as an "A" for example?

Thanks for any and all help.

0 投票
3 回答
1263 浏览

math - 一个有趣的数学难题

虽然它与编程不是很相关,但我认为 SO 可能会有所帮助:

我一开始就假设没有。成为“abcdefghi”并声明 a 可以是“1-9”之间的任何数字 b 只能是偶数,e 肯定是 5 等等。

但我无法找到从这里出发的方法。

任何帮助/或更好的方法将不胜感激

0 投票
9 回答
4861 浏览

ruby-on-rails - 正则表达式:匹配包含数字和字母的字符串,但不匹配仅包含数字的字符串

问题

我希望能够使用单个正则表达式(如果可能)来要求字符串适合[A-Za-z0-9_]但不允许:

  • 仅包含数字或/和符号的字符串。
  • 以符号开头或结尾的字符串
  • 多个符号彼此相邻

有效的

  • test_0123
  • t0e1s2t3
  • 0123_test
  • te0_s1t23
  • t_t

无效的

  • t__t
  • ____
  • 01230123
  • _0123
  • _test
  • _test123
  • test_
  • test123_

制定规则的原因

这样做的目的是过滤我正在处理的网站的用户名。由于特定原因,我已经制定了规则。

  • 仅包含数字和/或符号的用户名可能会导致路由和数据库查找出现问题。/users/#{id}允许的路由id是用户的 id 或用户名。因此名称和 ID 不应该发生冲突。

  • _test看起来很奇怪,我不相信它是有效的子域,即_test.example.com

  • 我不喜欢t__t子域的外观。IEt__t.example.com

0 投票
6 回答
1793 浏览

algorithm - Tinyurl 风格的唯一代码:防止冲突的潜在算法

我有一个系统需要一个唯一的 6 位代码来表示一个对象,我正在尝试想一个好的算法来生成它们。以下是先决条件:

  • 我使用的是 base-20 系统(没有大写字母、数字、元音或 l 以防止混淆和顽皮的词)
    • base-20 允许 6400 万种组合
  • 我将一次插入可能 5-10,000 个条目,所以理论上我会使用批量插入,这意味着使用唯一键可能不会高效或漂亮(特别是如果开始有很多冲突)
  • 填充 10% 的组合并不是不可能的,因此很有可能发生大量碰撞
  • 我想确保代码是不连续的

我有一个听起来像是可行的想法,但我的数学还不够好,无法弄清楚如何实现它:如果我从 0 开始并以 N 为增量,然后转换为 base-20,似乎应该是 N 的某个值,可以让我在重复任何值之前计算 0-63,999,999 之间的每个值。

例如,使用 N=3(所以 10 mod 3)从 0 到 9:0、3、6、9、2、5、8、1、4、7。

是否有一些神奇的数学方法可以计算出某个较大数字的 N 值,该数字能够计算整个范围而不重复?理想情况下,我选择的数字会在系列中跳跃,以至于不明显存在模式,但我不确定这有多大可能。

或者,保证值 0-64 百万的唯一性的散列算法可以工作,但我太愚蠢了,不知道这是否可能。