Questions tagged «sorting»

此挑战旨在通过排序,排序或以其他方式组织一些数据集来解决。

30
这个数字是-2的整数次幂吗?
有很多聪明的方法来确定数字是否为2的幂。这不再是一个有趣的问题,因此让我们确定给定的整数是否为-2的整数次幂。例如: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² 规则 您可以编写程序或函数,并使用接收输入和提供输出的任何标准方法。 您的输入是一个整数,如果该整数是-2的整数次幂,则输出必须是一个真实值,否则,则必须是一个虚假值。不允许其他输出(例如警告消息)。 通常的整数溢出规则适用:您的解决方案必须能够在语言的假设(或实际)版本中使用任意大整数,默认情况下,所有整数都是无界的,但是如果您的程序由于实现而在实践中失败不支持大整数,这不会使解决方案无效。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 获奖条件 这是一场代码高尔夫球比赛:字节数最少(在您选择的编码中)的答案是获胜者。

30
活着的人可能的出生年份清单
挑战 输出从当前年份开始到120年前结束的年份列表。每个活着的人的出生年份将包括在此列表中。 细节 该列表应按降序排列。 允许使用每个内置函数来操纵数组和/或列表。 以字节为单位的最短代码获胜。 今年运行时,输出为 2016, 2015, ..., 1897, 1896 明年运行时,输出为 2017, 2016, ..., 1898, 1897 等等。 更新资料 有些人询问了列表的格式。正如大多数人所猜测的,这无关紧要。在数字之间插入任何分隔符。直观上,大多数情况下插入逗号或空格或两者,换行符或输出数组。 珍妮·卡门特(Jeanne Calment)等准超人是我问题中提到的规则的例外。

22
自然派#0-摇滚
目标 创建一个接受输入的程序/函数N,检查N随机整数对是否相对质数,然后返回sqrt(6 * N / #coprime)。 TL; DR 这些挑战是仅需要自然和大脑(也许还有一些可重复使用的资源)才能逼近Pi的算法模拟。如果您在僵尸启示录期间确实需要Pi,那么这些方法不会浪费弹药!还有另外八个挑战。检出沙盒帖子以提出建议。 模拟 我们在模拟什么?好吧,两个随机整数是相对质数(即coprime或gcd == 1)的概率是6/Pi/Pi,因此计算Pi的自然方法是挖出两个桶(或少数几个)的岩石。数他们;看看他们的gcd是否为1;重复。这样做后,一对夫妇很多次,sqrt(6.0 * total / num_coprimes)会趋向Pi。如果计算世界末日后的平方根使您感到紧张,请不要担心!有牛顿法。 我们如何模拟这一点? 接受输入 N 请执行以下N次数: 均匀生成随机正整数,i并且j 用 1 <= i , j <= 10^6 如果gcd(i , j) == 1:result = 1 其他: result = 0 取N结果的总和,S 返回 sqrt(6 * N / S) 规格 输入值 …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

15
看天上!这是一个超级骗子阵列!
在Code Review中受到我们竞争对手朋友的这个问题的启发。 定义 甲超级阵列是一个阵列,其中阵列中的每个新的元件比以前的所有元素的总和大。{2, 3, 6, 13}是一个超级数组,因为 3 > 2 6 > 3 + 2 (5) 13 > 6 + 3 + 2 (11) {2, 3, 5, 11}是不是一个超级阵列,因为 3 > 2 5 == 3 + 2 11 > 5 + 3 + 2 甲骗子阵列是一个阵列,其中阵列中的每个新的元件比以前所有的元素的乘积大。{2, 3, 7, 43, 1856}是一个超级数组,但它也是一个双精度数组,因为 3 > …

30
输出数字最大为2 ^ n-1,“已排序”
以一个正整数n作为输入,并输出可以使用n位创建的(一些)十进制数,按以下方式排序: 首先列出仅可以使用一个创建的所有数字,1其余0以二进制表示形式(已排序)列出,然后使用两个连续的 1,其余的0,然后连续的 三个依次创建的所有数字1。 让我们看一下n = 4的情况: 0001 - 1 0010 - 2 0100 - 4 1000 - 8 0011 - 3 0110 - 6 1100 - 12 0111 - 7 1110 - 14 1111 - 15 因此,n = 4的输出为:1、2、4、8、3、6、12、7、14、15(可选输出格式)。 测试用例: n = 1 1 n = 2 1 2 …

30
里恩数
Champernowne常数是通过串联第一个n数字而n趋于无穷大而构成的数字。看起来像这样: 0.123456789101112131415161718192021222324252627282930... 现在,我将向您介绍里恩号码。可以将Champernowne常数的最小值视为一个整数。我将第一个数字的Rien号码n称为Ri(n)。这是如何制定的: 第一个n自然数(序列{1,2,3,...})是连接在一起的。 然后根据数字值对该结果进行排序。这样1..12会看起来像011111223456789。 由于Rien数不能有前导零,因此我们将所有0s 移到有效的位置,同时使数保持最小,从而得出101111223456789。这是Ri(n),在这种情况下是Ri(12)。 以下是Ri(n)的一些结果: Ñ 日(Ñ) 1 1 2 12 3 123 7 1234567 9 123456789 10 10123456789 15 101111111223344556789 34 10001111111111111222222222222223333333334444555555666777888999 42 100001111111111111122222222222222233333333333333444444444455556666777788889999 45 100001111111111111122222222222223333333333333344444444444444555556666777788889999 55 10000011111111111111122222222222222223333333333333333444444444444444444455555555555566666777778888899999 100 100000000000111111111111111112212222222222222222233333333333333333333444444444444444444444555555555555555555555666666666666666666667777777777777777777888888888188888888888899999999999999999999 99910000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333344444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555566666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999 目标假定n输入1≤ <10000(通过自变量,STDIN或硬编码,如果您的语言不支持常规输入),则输出/返回Ri(n)。 这是一个代码高尔夫球,因此以字节为单位的最短代码获胜。您可以使用在比赛后制作的语言,但前提是该语言不是用来回答此挑战的。(当然,如果它提供了一种有趣的解决方案,则可以使用它,但是将您的答案标记为不竞争。) 参考实施 我在IE中对此进行了测试,因此实际上应该没有问题。如果有是一个问题,有一个简单的解决方案:让一个理智的浏览器。 function min(n) { var seq = []; for(var i = …

9
以正确的顺序吃糖果
说到吃糖果,我比一般的外行人坚持更高的标准。在“混合使用”与“保存最佳结果到最后”之间存在微妙的平衡。 在此挑战中,您将获得一个字符串,其中每个字符代表一块糖果。不同的字符(区分大小写)代表不同类型的糖果。然后,您的程序必须根据以下步骤确定正确的糖果消费顺序。您可以编写一个完整的程序(STDIN / STDOUT)或一个命名函数来完成此任务。 假设我的糖果藏起来了oroybgrbbyrorypoprr。首先,我使用较低的ASCII字符值作为平局,将糖果分成相同类型的堆,顶部数量较大。 rrrrrr oooo bbb yyy pp g 然后,我拿走每一排糖果,并按一定间隔将它们等距放置。例如,如果有3块糖果,则将1个放置在方式的1/3处,将2/3的方式放置在末尾。 .r.r.r.r.r.r ..o..o..o..o ...b...b...b ...y...y...y .....p.....p ...........g 然后,我逐列向下创建最终的糖果订单rorbyroprbyorrobypg。 输入值 包含糖果存放区的字符串。上面示例的输入可能是: oroybgrbbyrorypoprr 输出量 包含糖果的细绳重新组织成正确的食用顺序。 rorbyroprbyorrobypg 计分 这是代码高尔夫。以字节为单位的最短答案将获胜。适用标准代码高尔夫球规则。

9
基于缩进的排序
给定一个大小写相同的字母字符串列表(az XOR AZ),其中每个字符串前面都带有0个或多个空格()字符,输出相同的列表,但字符串在每个缩进级别进行排序。出于排序目的,不同父项下的压痕深度算作不同的列表。 例 如果您输入的是: bdellium fox hound alien aisle wasabi elf alien horseradish xeno irk wren tsunami djinn zebra 您的输出应为 aisle horseradish xeno wasabi alien elf bdellium alien fox hound djinn zebra irk tsunami wren 如果愿意,可以将其视为目录列表,并且需要对每个目录中的名称进行排序。 细节 一个项目可以缩进任意数量的空格。如果缩进的空格与上一项的空格相同,则它属于与上一项相同的排序层次结构。如果缩进更多空格,则这是新的子层次结构的开始。 如果缩进的行比上一行的行少,它会以相同的#或更少的空格链接到其上方最近的子组(例如上例中的辣根,它链接到其上方的wasabi组),因为芥末是它上面的第一个没有比辣根更多的空间) 您必须在输出中保留每个输入项目的缩进级别 禁止在输出中使用制表符 输入的第一行将永远不会缩进 您的程序必须至少处理全部大写和全部小写的字符串之一;它不必同时处理两者。 计分 这是一个代码高尔夫球,因此使用最少字节的答案将获胜。

30
按二进制1的计数对数字排序
目标 编写函数或程序,将整数数组按其二进制表示形式中存在的1的数量降序排列。不需要二级排序条件。 示例排序列表 (使用16位整数) Dec Bin 1's 16375 0011111111110111 13 15342 0011101111101110 11 32425 0111111010101001 10 11746 0010110111100010 8 28436 0000110111110100 8 19944 0100110111101000 8 28943 0000011100011111 8 3944 0000011111101000 7 15752 0011110110001000 7 825 0000000011111001 6 21826 0101010101000010 6 输入值 一个32位整数数组。 输出量 按描述排序的相同整数的数组。 计分 这是在一周内要选择的最少字节数的代码高尔夫球。

22
引爆一根弦
给定任何字符串,以三角形的形式打印它,其中文本沿每个对角线上下移动。例如,输入的"Hello World"应输出: d l r d o l W r d o l o W r d l o l l o W r d e l o l H l o W r d e l o l l o W r d l o l o W r …

9
“排序”算法
有一种“排序算法”,有时也称为Stalin排序,在该算法中,为了对列表进行排序,您只需从列表中删除元素,直到其按升序进行排序即可。例如清单 [1, 2, 4, 5, 3, 6, 6] 当使用斯大林排序进行“排序”时 [1, 2, 4, 5, 6, 6] 这三个被删除,因为它故障。 现在显然有许多方法可以删除元素以对列表进行排序。例如,任何少于两个元素的列表都必须进行排序,因此只要盲目地删除足够的元素,我们就可以对列表进行排序。既然是这种情况,我们只在乎斯大林排序可能的最长结果。 您的任务将是获取一个正整数列表,并输出可以通过从原始列表中删除元素而得出的最长排序(递增)列表的长度。那就是找到最长排序的(可能是非连续的)子列表的长度。 排序的列表可以连续多次具有相同的元素。除非程序本身为空,否则不需要支持空列表。 计分 您的答案将根据其可能的最长斯大林排序长度进行评分。程序将被解释为字节序列而不是字符序列,并且它们的顺序将是通过将字节解释为数字而产生的自然顺序。分数越低越好。 这不是代码高尔夫 这是一个简洁的工具,可帮助您对答案进行评分。 测试用例 [1, 2, 4, 5, 3, 6, 6] -> 6 [19, 2] -> 1 [3, 3, 4, 3] -> 3 [10] -> 1 [1, 2, 4, 9] …

22
排序攀登成绩
我的第一个代码高尔夫球场,对任何错误表示歉意... 语境 在攀岩(特别是抱石)中,V / Vermin(美国)攀爬等级从“ VB”(最简单的等级)开始,然后是“ V0”,“ V0 +”,“ V1”,“ V2”,“ V3” ,“ V4”,“ V5”等,直至“ V17”(最难的等级)。 任务 您将输入一个爬坡等级的列表/数组,并且必须返回或打印从最简单到最困难的爬坡等级的列表/数组。 如果输入为空,则返回一个空的数据结构;否则为0。否则,输入将始终是有效的。 测试用例 Input | Output [] | [] ['V1'] | ['V1'] ['V7', 'V12', 'V1'] | ['V1', 'V7', 'V12'] ['V13', 'V14', 'VB', 'V0'] | ['VB', 'V0', 'V13', 'V14'] ['V0+', 'V0', 'V16', 'V2', 'VB', …

24
这是Loeschian号码吗?
正整数k是Loeschian数,如果 k可以表示i*i + j*j + i*j为i,j整数。 例如,第一正Loeschian号码为:1(i=1,j=0); 3(i=j=1); 4(i=2,j=0); 7(i=2,j=1); 9(i=-3,j=3); ...注意i,j对于给定k的不是唯一的。例如,9也可以与产生的i=3,j=0。 这些数字的其他等效特征是: k可以表示i*i + j*j + i*j为i,j非负整数。(对于每对整数i,j都有一对给出相同值的非负整数k) 有一组k连续的六边形在六边形网格上形成网格化(请参见k = 4和的插图k = 7)。(由于这个属性,这些数字可在移动蜂窝通信网络中找到应用。) 在序列的OEIS页面中查看更多特征。 挑战 给定一个正整数,如果它是Loeschian数,则输出真实结果,否则,则输出虚假结果。 程序或函数应处理(例如不到一分钟)最多达1000或数据类型限制的输入。 代码高尔夫。最短的胜利。 测试用例 以下数字应输出真实结果: 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 以下数字应输出虚假结果: 2, 5, 10, 42, 101, 102, 128, 150, 501, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

6
评分Tarzan的奥林匹克葡萄摇摆常规
奥运会的葡萄树摆动者在标准的树上执行常规活动。特别是,“标准树” n具有0向上穿过的顶点n-1以及将每个非零顶点连接a到其n % a下面的顶点的边。因此,例如,标准树5如下所示: 3 | 2 4 \ / 1 | 0 因为5除以3时的余数为2,所以5除以2或4时的余数为1,而5除以1时的余数为0。 今年,泰山将捍卫他的金新套路,每个始于顶点n - 1,秋千到顶点n - 2,继续顶点n - 3,等等,直到最后他卸除到顶点0。 例行程序的分数是每个挥杆(包括拆卸)的分数之和,挥杆的分数是树内起点和终点之间的距离。因此,Tarzan在标准树5上的例程得分为6: 从摇摆4到3得分3分(向下,向上,向上), 从摇摆3到2得分(下降)一分, 从摆动2到1得分1分(向下),并且 从下来1,0得分为1分(下降)。 编写一个程序或函数,给定一个正整数n,该程序或函数将计算Tarzan例程在Standard Tree上的得分n。样本输入和输出: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

16
这是字节的挑战
我需要别再想笨拙的名字了 您的任务是创建尽可能多的代码片段(内置输入和输出的程序),函数或完整程序,以对您所用语言的整数数组版本进行升序排序,但是对于每个程序,只允许使用使用以前的程序中未使用过的ASCII字符(如果直接将其指定为非ASCII,则使用您的语言的代码页)。 这是一个示例答案(用换行符分隔的单独程序): Derp ASdFGHJKLAAA qwEEERtyRty 在这种(虚构的语言),我的第一个答案是Derp,它使用了D,e,r和p。在第二个程序中,不允许再次使用这些字符,但是我可以重用任意多个字符。与第三个程序相同,依此类推。 每个程序必须采用整数数组,因此类似以下内容(有关有效的输入/输出样式,请参见输入/输出示例): [3 4 -2 5 7 196 -44 -2] 并且它必须以升序将数组中的项目输出为数组: [-44 -2 -2 3 4 5 7 196] 您的分数将是提交的总数。如果有平局,则最低字节数(代码中字节数最少)获胜! 程序规则: 所有提交必须以一种语言版本(so Python 2 != Python 3)正确运行。 您的提交可以是摘要,功能或完整程序。您甚至可以混合和匹配它们-但是,您必须说出哪个是哪个,并提供工作提交的链接。 如果可能,请提供所有解决方案的在线链接。 所有提交都必须以数组(或用任何字符分隔的字符串)作为输入,并输出排序后的数组(以您语言的数组形式或- {any character}分隔的字符串)。 您不得使用ASCII(或您的语言的代码页)以外的任何字符。 例如,这些是有效的输入/输出: [1 2 3 4] (Clojure style arrays) [1, 2, 3, …

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.