问题标签 [rosetta-stone]
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.
code-golf - 回文高尔夫
目标:任何语言。返回字符串是否为回文的最小函数。这是我在Python中的:
50 个字符。
接受的答案将是当前最小的答案 - 这将随着找到较小的答案而改变。请指定您的代码使用的语言。
language-agnostic - 斐波那契代码高尔夫
以尽可能少的字符生成斐波那契数列。任何语言都可以,除了您使用一个运算符 定义的语言f
,它会打印斐波那契数。
起点:Haskell中的25 14 个字符:
f=0:1:zipWith(+)f(tail f)
language-agnostic - 代码高尔夫:数字到单词
代码高尔夫系列似乎相当流行。我遇到了一些将数字转换为单词表示的代码。一些例子是(编程乐趣的 2 的幂):
- 2 -> 两个
- 1024 -> 一千二十四
- 1048576 -> 一百万四万八千五百七十六
我的同事提出的算法将近两百行。似乎会有更简洁的方法来做到这一点。
当前指南:
- 欢迎以任何编程语言提交(我向 PhiLho 道歉,因为最初在这方面缺乏明确性)
- 最大输入为 2^64(有关单词,请参见以下链接,感谢 mmeyers)
- 首选英文输出的小规模,但欢迎任何算法。只需与编程语言一起评论所使用的方法即可。
language-agnostic - 以最少的代码字符创建、排序和打印包含 100 个随机整数的列表
您可以编写最少多少代码来创建、排序(升序)和打印 100 个随机正整数的列表?最少的代码是指包含在整个源文件中的字符,所以开始缩小。
我有兴趣使用任何和所有编程语言查看答案。让我们尝试为每种语言保留一个答案,编辑以前的答案以更正或简化。如果您无法编辑,请发表评论?
language-agnostic - Code Golf:用最少的代码行打印整个“圣诞节的 12 天”歌曲
打印流行节日歌曲的所有 12 首诗句。
我所说的12节是指歌曲中所唱的每一行的重复,即
诗歌一:圣诞节的第一天,我的真爱在梨树上给了我一只鹧鸪。
第二节 圣诞节的第二天,我的真爱给了我两只斑鸠和梨树上的一只鹧鸪。
...
第 N 节:在圣诞节的第 n 天,我的真爱给了我(第 N-1 节没有第一行)(第 N 节中添加的行)
language-agnostic - Code Golf 新年版 - 整数到罗马数字
编写一个程序,接受一个命令行参数 N 并打印出相应的Roman Numeral。
例如 N = 2009 应该打印 MMIX。
假设这应该适用于 0 < N < 3000。
(在圣诞节版玩我的第一轮代码高尔夫很开心,并认为这可能适合新年。谷歌搜索看看这是否在其他地方出现过,看起来没有,但如果这让我知道太难或太容易,或者规则需要改变。)
快乐MMIX!
code-golf - Code Golf:Pi 的莱布尼茨公式
我最近在“您有什么更具争议的编程观点”中发布了我最喜欢的面试白板编码问题之一,即编写一个使用莱布尼茨公式计算 Pi 的函数。
它可以通过多种不同的方式来处理,退出条件需要一些思考,所以我认为它可能会成为一个有趣的代码高尔夫问题。最短的代码获胜!
假设 Pi 可以使用函数 4 * (1 - 1/3 + 1/5 - 1/7 + ...) 来估计,更多的项可以提供更高的准确性,请编写一个计算 Pi 到 0.00001 以内的函数。
编辑:2008 年 1 月 3 日
正如评论中所建议的那样,我将退出条件更改为 0.00001 以内,因为这就是我真正的意思(由于四舍五入,精确到小数点后 5 位要困难得多,所以我不想在面试中问这个问题,而在 0.00001 以内是更容易理解和实现退出条件)。
另外,为了回答评论,我想我的意图是解决方案应该计算迭代次数,或者检查它何时完成了足够的工作,但是没有什么可以阻止您预先计算迭代次数并使用该数字。我真的很感兴趣地问了这个问题,看看人们会想出什么。
puzzle - 代码高尔夫:自动机
我使用这些规则制作了终极笑声发生器。你能用你最喜欢的语言巧妙地实现它吗?
规则:
在每次迭代中,都会发生以下转换。
code-golf - Code Golf:从文本中快速构建关键字列表,包括实例数
我已经用 PHP 为自己制定了这个解决方案,但我很好奇它可以如何以不同的方式完成——甚至更好。我主要感兴趣的两种语言是 PHP 和 Javascript,但我很想看看在今天的任何其他主要语言(主要是 C#、Java 等)中这可以多快完成。
- 仅返回出现次数大于 X 的单词
- 仅返回长度大于 Y 的单词
- 忽略常见的术语,如“and, is, the, etc”
- 在处理之前随意去除标点符号(即“John's”变成“John”)
- 在集合/数组中返回结果
额外学分
- 将引用的陈述放在一起,(即“他们显然‘好得令人难以置信’”)
其中“好得令人难以置信”将是实际陈述
额外的额外学分
- 您的脚本能否根据单词出现的频率确定应该放在一起的单词?这是在事先不知道单词的情况下完成的。例子:
*“果蝇在医学研究方面是一件了不起的事情。过去对果蝇进行了很多研究,并带来了许多突破。未来,果蝇将继续研究,但我们的方法可能会改变。"*
显然这里的词是“果蝇”,我们很容易找到。您的 search'n'scrape 脚本也可以确定这一点吗?
原文:http ://sampsonresume.com/labs/c.txt
答案格式
- 很高兴看到您的代码结果、输出以及操作持续了多长时间。
code-golf - 天际线问题
我刚刚在UVA 的 Online Judge上遇到了这个小问题,并认为它可能是一个小代码高尔夫的好候选人。
问题:
你要设计一个程序来帮助建筑师在给定城市建筑物位置的情况下绘制城市的天际线。为了使问题易于处理,所有建筑物都是矩形的,并且它们共享一个共同的底部(它们所在的城市非常平坦)。这座城市也被视为二维的。建筑物由有序三元组(Li, Hi, Ri)指定,其中Li和Ri分别是建筑物 i 的左坐标和右坐标,Hi是建筑物的高度。
在下图中,建筑物在左侧显示为三元组
右侧显示的天际线由以下序列表示:
输出应包含描述天际线的向量,如上例所示。在天际线向量(v1, v2, v3, ... vn)中,使 i 为偶数的vi表示水平线(高度)。使 i 为奇数的vi表示垂直线(x 坐标)。天际线矢量应该代表“路径”,例如,一个从最小 x 坐标开始并水平和垂直穿过定义天际线的所有线的错误。因此,天际线向量中的最后一个条目将是 0。坐标必须用空格分隔。
如果我不计算提供的(测试)建筑物的声明并包括所有空格和制表符,我的解决方案在 Python 中是223个字符长。
这是精简版:
我认为我没有犯任何错误,但如果是这样 - 请随时批评我。
我没有太多的声誉,所以我只需支付 100 美元的赏金 - 我很好奇,如果有人能尝试在不到 .. 80 个字符的时间内解决这个问题。cobbal发布的解决方案有101 个字符长,目前是最好的解决方案。
我想,对于这类问题,80 个字符是一个病态的限制。cobbal,他的 46 个字符的解决方案让我非常惊讶——尽管我必须承认,在我部分理解他所写的内容之前,我花了一些时间阅读他的解释。