Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

18
N维身份“矩阵”
给定一个正整数n,输出- N维标识“ matrix”,这是其中索引的所有分量均相等的N^N数组1,0否则为相等。N^N表示N个N个N个... 1 -> [1] 2 -> [[1,0],[0,1]] 3 -> [[[1,0,0],[0,0,0],[0,0,0]],[[0,0,0],[0,1,0],[0,0,0]],[[0,0,0],[0,0,0],[0,0,1]]] 4 -> [[[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,1,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]]]] 例如,如果a是4维同一性“基质”,然后用仅条目1会是a[0][0][0][0],a[1][1][1][1],a[2][2][2][2],和a[3][3][3][3]。 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

21
查找最接近的大数
任务 给定任何整数数组,例如: [-1,476,578,27,0,1,-1,1,2] 和该数组的索引(此示例使用基于0的索引,尽管您也可以使用基于1的索引。): index = 5 v [-1,476,578,27,0,1,-1,1,2] 然后返回大于该索引处元素的最接近数字。在该示例中,大于1的最接近数字是27(相距2个索引)。 index = 5 v [-1,476,578,27,0,1,-1,1,2] ^ Nearest greater number Output = 27 假设条件 最近的不包括包装。 永远不会给程序一个长度为1的数组(例如[55])。 您将假定总有一个大于给定元素的数字。 如果等距离处的元素大2个数字,则可以返回任意一个。 I / O对 Input: Index = 45 Array = [69, 43, 89, 93, 62, 25, 4, 11, 115, 87, 174, 60, 84, 58, …

18
数字三角形翻转
假设您在三角形中列出了正整数,然后将其从左向右翻转。给定一个数字,输出它发送到的数字。这是一个自逆映射。 1 1 2 3 3 2 4 5 6 <---> 6 5 4 7 8 9 10 10 9 8 7 11 12 13 14 15 15 14 13 12 11 这是A038722的第n个元素,已被索引: 1, 3, 2, 6, 5, 4, 10, 9, 8, 7, 15, 14, 13, 12, 11, ... 此序列以递增的长度反转正整数的连续块: …

30
生成长度为N的随机字母数字字符串
生成具有给定长度且仅允许字母数字字符的随机字符串的最短方法是什么? 随机字符串的示例:如果N = 9,则输出为 aZua7I0Lk 给定的长度N可以假定始终大于0 如有必要,可以将N的最大值假定为256,但是最好使用N的上限更高但仍具有快速计算时间的解决方案 允许的字符:0-9,az和AZ 一个字符可以在输出字符串中出现多次 每个可能的字符串应具有同等的可能性(以您的语言的随机数生成器的准确性为准)

8
我们应该成为朋友吗?
请注意,这是一个主要关注数据结构的问题 介绍 Bacefook希望人们变得更加友好!因此,他们正在实施一个新系统来推荐朋友!您的任务是帮助Bacefook实施新的建议系统。 规格: 你的程序必须是支持3种类型的命令的一个REPL(读取-求值-输出循环): FRIEND,SUGGEST和KNOW。 FRIEND X Y-指定X和Y是社交网络中的朋友。 如果X是Y的朋友,那么Y是X的朋友 可以,但不必输出 X永远是X的朋友 KNOW X Y -如果X和Y是朋友,则输出真实值,否则输出虚假值 KNOW X X 将始终输出真实值 SUGGEST X Y-如果X和Y应该是朋友,则输出真实值,否则输出虚假值。如果满足以下条件,则X和Y应该是朋友: X和Y不是朋友 X和Y至少有1个共同的朋友 你被允许代替FRIEND,SUGGEST并KNOW用自己的字符串,但你必须谈不上什么串您更换每个命令。 您的程序可以以任何希望的方式接受输入/产生输出,只要可以相当容易地识别其工作方式即可。 社交网络中的人数N在1到100,000之间,但是可能有任意数量的“朋友链接”(边缘)。 如果您尚未注意到,这是一个图形搜索问题。实现此功能的(可能)最简单(可能最快)的数据结构将是邻接矩阵。 测试用例 FRIEND A B FRIEND A C FRIEND B D SUGGEST A B -> Falsy, as they are friends SUGGEST A …

30
单词反转
索娜(Sona)和她10岁的女儿在她的房子里。她需要去学校带另一个孩子放学,因为下午2点学校结束了。外面很热,所以她想把年幼的孩子留在家中。 她给孩子们串了一串绳子,以使她不在的时候保持忙碌。她要求她扭转字符串中的单词。字符串很多,因此您需要帮助她的女儿解决这个艰巨的任务。 因此,给定包含以单个空格分隔的单词的字符串,请反转字符串中的单词。您可以假定那里没有前导或尾随空格。 该字符串仅包含[a-zA-z ],因此您不需要处理标点符号。 将为您提供一个字符串作为输入,并且您应该输出一个字符串。 示例测试用例: Input: Man bites dog Output: dog bites Man Input: The quick brown fox jumps over the lazy dog Output: dog lazy the over jumps fox brown quick The Input: Hello world Output: world Hello 计分 这是代码高尔夫球。以字节为单位的最短答案将获胜。

4
旋转2D矩阵
假设我有以下(2D)矩阵: [[1, 2, 3, 4 ], [5, 6, 7, 8 ], [9, 10, 11, 12], [13, 14, 15, 16]] 旋转矩阵逆时针 R倍(未以90个增量,只是通过每次1号), 1 2 3 4 2 3 4 8 3 4 8 12 5 6 7 8 --> 1 7 11 12 --> 2 11 10 16 9 10 11 …

1
钓鱼立方网
立方体可以由六个正方形作为侧面。但是您也可以将三个2x1矩形对折,然后将它们粘合在一起以形成一个立方体。现在,在此挑战中,您将获得一组由正方形组成的零件,并且您必须确定是否可以选择零件来形成单位立方体。并非所有部件都必须使用,可能还剩下一些。 细节 这些片段以两个不同字符的字符串或黑白图像或任何方便的2D栅格格式给出。在下面的示例中,我假设形成碎片的像素为黑色,背景为白色。 共有一侧的两个像素被视为属于同一块。这些片段只能沿着分隔像素的网格线折叠,并且无法剪切。立方体的每一侧都有一个像素的大小,立方体的每一侧只能由一层构成。 输出必须为真或假值。 测试用例 在下面,空格是背景,哈希符号#代表片段。 (还有待添加) 有效 ## ## ## # #### # # # # # # # # # ## ## # 无效 ### ### # # #### ### ## #### 运行以下代码片段以获取更多测试用例。 显示代码段 document.getElementById("asdfasdf").style.display = "block"; <div id="asdfasdf" display="none"> <h3>Valid</h3> <pre><code> ## ## ## </code></pre> <hr> …

21
列总和
给定非空数字行的非空列表,请计算按列和,这是另一个具有最长输入行长度的列表。输出列表的第一个条目是输入行的所有第一个整数的总和,第二个是所有第二个元素的总和(如果有)等。我认为以下示例将对此进行更好的解释: Input: {[1,2,3,4],[1],[5,2,3],[6,1]} Computation: [1,2,3,4] + . . . [1]. . . + + + . [5,2,3]. + + . . [6,1]. . = = = = Output: [13,5,6,4] 测试用例 {[0]} -> 0 {[1],[1,1,1,1]} -> [2,1,1,1] {[1],[1,2],[1,2,3],[1,2,3,4]} -> [4,6,6,4] {[1,6,2,-6],[-1,2,3,5]} -> [0,8,5,-1]

5
生活是迷宫:我们学会走路之前走错了路
输入: 包含以下字符的迷宫: -- (水平墙); | (垂直墙); + (连接); (步行空间); I (入口); U (出口)。 即输入看起来像这样: +--+--+--+--+--+--+--+--+--+--+ I | | | + +--+--+--+ + + + +--+ + | | | | | | +--+--+--+ +--+--+ + + +--+ | | | | | + +--+--+ + +--+--+ +--+ + | | …

26
数字总和斐波那契
我们都熟悉斐波那契数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765 但是,相反,f(n) = f(n-1) + f(n-2)我们将对前2个条目进行数字求和。 序列应仍以开头0, 1,之后差异会迅速显现。此列表的索引为0,也可以使用索引为1的状态。 f(0) = 0 f(1) = 1 f(2) = 1 # 0 + 1 f(3) = 2 # 1 + 1 f(4) …

15
输出HTML颜色
16色CGA调色板(也称为HTML色)是早期图形适配器使用的16种颜色的集合。这项挑战的目标是以十六进制格式(RRGGBB)按照十六进制值的升序输出所有16个字符,并以换行符分隔。因此,输出应该完全是这样: 000000 000080 0000FF 008000 008080 00FF00 00FFFF 800000 800080 808000 808080 C0C0C0 FF0000 FF00FF FFFF00 FFFFFF 允许使用一条尾随的换行符,但不是必需的。

9
Büidans
挑战很简单:编写一个程序或函数,当给定一个有限的非负整数时,该程序或函数将输出一个嵌套数组。 规则 您的代码必须为每个 0≤n≤2 31的整数生成唯一的有效嵌套数组。 必须在此范围内输出每个带有最多16个方括号的嵌套数组。(这并不意味着您的代码永远不会输出带有超过16个方括号的嵌套数组。) 您的代码可能会输出嵌套数组的字符串表示形式,而不是实际数组(带或不带逗号)。 一种可能的映射: 0 -> [] 1 -> [[]] 2 -> [[[]]] 3 -> [[], []] 4 -> [[[[]]]] 5 -> [[[], []]] 6 -> [[[]], []] 7 -> [[], [[]]] 8 -> [[], [], []] 9 -> [[[[[]]]]] etc. 计分 这是code-golf,因此以字节为单位的最短代码获胜。

21
产生随机排列
挑战说明 序列的“排列”是一种排列,其中没有元素出现在其原始位置。例如,ECABD是的排列ABCDE,但CBEDA不是: ABCDE | | <- B and D are in their orignal positions CBEDA 给定一个序列,生成它的随机排列。 笔记 您可以将字符串作为输入或元素(整数,字符,对象...)的数组/列表 无需返回新对象,而是可以通过交换其元素来修改现有对象 每次错序产生的可能性均等 您可以假设序列中有多个元素,并且没有一个以上元素出现

8
脆弱的奎因
脆弱的奎因 脆弱的quine是满足通过删除单个字符来组成每个子字符串的属性的quine,在评估时会产生错误。 例如。如果您的程序asdf是木盒,那么它就很脆弱,以下程序必须出错: sdf adf asf asd 您的程序(及其所有子字符串)必须是完全确定性的,并且必须使用相同的语言。就此挑战而言,即使最终未产生错误,陷入无限循环(即无法终止)的程序也被视为“产生错误”。 存在标准漏洞,包括通常的quine限制(例如,无法读取自己的源代码)。 例如,print("foo")不是脆弱的。所有这些子字符串必须出错: rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" 不会出错的是: print("oo") print("fo") print("fo") 因此它并不脆弱。 关于藜的重要说明 通过协商一致,任何可能的奎纳必须满足以下条件: 必须有可能识别程序的一部分,该部分对程序的不同部分进行编码。(“不同”表示两个部分出现在不同的位置。) 此外,木盒不得直接或间接访问其自身的源。 例 由于我认为JavaScript的function#toString是“正在读取其自身的源代码”,因此我不允许这样做。但是,如果我不想禁止它,那么这是JavaScript中的一个脆弱的方法: f=(n=b=`f=${f}`)=>(a=(n)==`f=${f}`,n=0,a)&(n!=b)?b:q 测试仪 这是一个程序,在给定程序源代码的情况下,它会生成所有必须出错的程序。 let f = (s) => [...Array(s.length).keys()].map(i => s.slice(0, i) + s.slice(i + 1)).join("\n"); let …
30 code-golf  quine  code-golf  date  code-golf  sequence  code-golf  sorting  file-system  code-golf  code-golf  ascii-art  hexagonal-grid  code-golf  string  arithmetic  code-golf  code-golf  code-challenge  source-layout  code-golf  ascii-art  cellular-automata  code-golf  string  arithmetic  balanced-string  code-golf  number  primes  code-golf  ascii-art  hexagonal-grid  code-golf  string  code-golf  string  code-golf  sequence  code-golf  ascii-art  code-golf  conversion  hexadecimal  code-challenge  restricted-source  code-golf  math  grid  code-golf  string  ascii-art  code-golf  random  minesweeper  code-golf  ascii-art  kolmogorov-complexity  board-game  scrabble  code-golf  ascii-art  code-golf  math  number-theory  decision-problem  code-golf  string  code-golf  natural-language  code-golf  internet  stack-exchange-api  code-golf  code-golf  conversion  code-golf  string  code-golf  math  arithmetic  code-golf  string  whitespace  code-golf  graphical-output  internet  code-golf  string  code-golf  string  random  permutations  code-golf  string  code-golf  string 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.