Questions tagged «sorting»

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

22
整数的旋转位置
挑战: 输入: 正整数的排序列表。 输出: 在将每个整数中的数字向左旋转其索引次数并再次对修改后的列表进行排序后,仍处于完全相同索引的整数数量。 例: 输入:[8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] 输出(基于0的索引):6 输出(基于1的索引):5 为什么? 基于0的索引: After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471] Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Input indices: 0 1 2 3 4 5 6 7 8 9 10 11 Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788] Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471] Modified indices: 0 2 1 3 5 4 7 6 8 9 …

14
这是一个截断的三角形数字吗?
相关OEIS序列:A008867 截断三角数 三角数的一个共同属性是它们可以排列成三角形。例如,取21并排列成os 的三角形: Ø OO oo oo oo oo 让我们定义一个“截断:”从每个角切割相同大小的三角形。截断21的一种方法如下: 。 。。 oo oo 。oo。 。。哦。。 (的三角形.是从原始三角形切出的)。 o剩下12 秒,因此12是一个截断的三角形数字。 任务 您的工作是编写一个程序或函数(或等效函数),该程序或函数采用整数并返回(或使用任何标准输出方法)数字是否为截断的三角形数字。 规则 没有标准漏洞。 输入是非负整数。 切口的边长不能超过原始三角形的一半(即,切口不能重叠) 切口的边长可以为零。 测试用例 真相: 0 1 3 6 7 10 12 15 18 19 虚假: 2 4 5 8 9 11 13 14 16 17 …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

8
可视化排序
假设我有一个列表,例如[3, 0, 4, 2, 1],并且使用选择排序对其进行排序,则可以像这样可视化它: 3,0,4,2,1 |-| 0,3,4,2,1 |-----| 0,1,4,2,3 |-| 0,1,2,4,3 |-| 0,1,2,3,4 挑战在于如何可视化排序。 输入值 您的输入将是一个正整数列表,可以使用任何您喜欢的格式。 任务 您的提交应通过一次仅交换两个元素来对输入列表进行排序,并且每次交换时,提交应显示该列表,并在要交换的每个元素下显示一个字符。如果交换的数字多于一个数字,则该字符可以位于其下方的任何位置。最后,提交内容应显示排序列表。 其他规定 排序必须使用少于n 4的交换,其中n是列表的长度。 排序不必是确定性的。 交换下的字符可以是除空格以外的任何字符。

6
进行ASCII扑克筹码堆栈安排
扑克有如何安排筹码的礼节,通常是在锦标赛中执行的-筹码可能不会因为落后于对手而被对手“隐藏”起来,主要是为了不隐藏某些大面额筹码。 挑战 我们将要使用ASCII玩扑克,因此我们需要编写一个函数或程序,给定其总值,该函数或程序将绘制ASCII芯片堆栈的排列n。 输入 -一个正整数,n(最多2**32-1应处理) 输出 -堆栈定义的ASCII表示,如下所示。 它可能在每行的右边包含空格,以使任何行都不能比最长(底部)行中可打印字符所使用的长度多一个字符。 它可能包含一条尾随的换行符;而 代表芯片的字符可以是小写,如果你喜欢。 堆栈安排将: 给定面额,包含尽可能少的筹码(请参见下文); 在“堆栈”(列)中将具有同等价值的筹码; 订购时,较短的烟囱在较高的烟囱的右边;和 进行订购,以使面额较大的筹码堆叠在等量的面额较低的堆叠筹码右边(表示它们对我们右边的对手是可见的) 芯片本身应以单独的字符表示,以标识其颜色: White : 1 = W Red : 5 = R Green : 25 = G Black : 100 = B Yellow : 500 = Y Pink : 1K = P Orange : 5K = …

18
多键排序
给定一个索引列表和零个或多个整数列表,输出按升序排列的整数列表,键优先级来自第一个输入。 例 令键输入为[1, 0, 2],列表输入为[[5, 3, 4], [6, 2, 1], [5, 2, 1]]。这些列表需要按其第二元素,然后是第一个元素,然后是第三个元素,以升序排序: 首先,我们按index处的值排序1:[[6, 2, 1], [5, 2, 1], [5, 3, 4]] 接下来,我们使用index处的值打破第一个排序的关系0:[[5, 2, 1], [6, 2, 1], [5, 3, 4]] 最后,我们用索引处的vlues打破所有剩余的联系2(这实际上并没有改变任何东西,因为没有剩余的联系)。 细节 排序是稳定的:如果两个元素相对于给定的排序键比较相等,则它们必须在输出中保持相同的相对顺序。例如,在给定的排序键下,如果A和B相等,则输入was为[..., A, ..., B, ...],A必须放在B输出中。 排序键永远不会引用输入列表之一中不存在的元素。 不会重复排序键。因此,[1, 2, 1]不是排序键的有效列表。 排序键未引用的任何元素均不计入排序顺序。只有初始相对顺序和排序键引用的元素的值才能确定输出顺序。 您可以选择排序键是零索引还是一索引。 排序键中将没有负值。如果选择使用单索引,则排序键中也不会有零。 整数值不会超出您的语言的本机表示范围。如果您选择的语言具有本地固有的任意精度整数(例如Python)的能力,则输入整数可以存在任何整数值,但要受内存限制。 参考实现(Python 2) #!/usr/bin/env python …

27
为*写翻译
任务很简单。为*语言编写口译员。 这是Wiki的更大链接。 只有三个有效的*程序: * 打印“ Hello World” * 打印0到2,147,483,647之间的随机数 *+* 永远运行。 根据此问题的规范,第三种情况必须是无限循环 输入: 可以通过我们的标准I / O规则通过任何可接受的输入方法进行输入 它将永远是以上程序之一 输出: 第一种情况应打印准确Hello World,带有或不带有尾行。 对于第二种情况,如果您的语言的整数最大值小于2,147,483,647,请使用您的语言的整数最大值 根据我们的标准I / O规则,第一种情况和第二种情况可以打印到任何可接受的输出。 第三种情况不应给出任何输出。 得分: 因为这是代码高尔夫球,所以最短的答案(以字节为单位)获胜。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

30
首先对奇数进行排序
重新排列给定列表,使所有奇数出现在所有偶数之前。除此要求外,输出列表可以按任何顺序排列。 输入将仅包含整数,但它们可以为负数,并且可以重复,并且可以按任何顺序出现。 最短的解决方案获胜。 测试用例 [1,2] → [1,2] [2,1] → [1,2] [1,0,0] → [1,0,0] [0,0,-1] → [-1,0,0] [3,4,3] → [3,3,4] [-4,3,3] → [3,3,-4] [2,2,2,3] → [3,2,2,2] [3,2,2,2,1,2]→ [1,3,2,2,2,2]或[3,1,2,2,2,2] [-2,-2,-2,-1,-2,-3]→ [-1,-3,-2,-2,-2,-2,]或[-3,-1,-2,-2,-2,-2,] [] → []

19
使三角计划有效
三角性是Xcoder 先生开发的一种新的esolang ,其代码结构必须遵循非常特定的模式: 对于第nth行代码,其上必须完全2n-1有程序的字符。这将导致三角形/金字塔形,第一行仅包含一个字符,其余行以2为增量增加。 每行.的左侧和右侧都必须用s 填充,以使字符以其行为中心,并且所有行都应填充为相同的长度。如果l定义为程序中的行数,则程序中的每一行的长度必须为2 * l - 1 例如,左侧的程序有效,而右侧的程序无效: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 当布置在有效结构中时,该名称变得显而易见。 任务 您的任务是将单个行字符串作为代表Triangularity代码的输入,并将其输出转换为有效代码,如上所述。 I / O规格: 输入将仅包含范围内的字符 0x20 - 0x7e 输入的长度始终是一个平方数,因此可以很好地填充。 您必须将点用于输出填充,而不要使用其他东西。 您可以通过任何可接受的方法输入和输出。这是一个代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 input ---- output g ---- g PcSa ---- .P. …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

7
字母整数
字母整数 对于给定的一组数字,将其拼写时按字母顺序排列(即1:1、2:2、90:90、19:19)。您的代码应适用于该范围[-999999, 999999]。输出必须在数字之间有一个定界符。空格将起作用,空格和逗号也将起作用,如下例所示。输入可以是整数数组,带分隔符的数字字符串,或者您认为合适。假定所有整数都是唯一的。 在本次挑战中,数字不带连字符,空格在其他任何字符之前按字母顺序排列。假定使用单词表示负数minus。例如,four将在之前four thousand,数字-40将使用字符串进行排序minus forty。假设所有数字将仅由数字单词组成,不包含连词(例如,使用two thousand forty two代替two thousand and forty two)。 测试用例 单位数整数: 输入: 1, 2, 3, 4, 5 输出: 5, 4, 1, 3, 2 多个数字整数: 输入: -1002, 5, 435012, 4, 23, 81, 82 输出: 81, 82, 5, 4, 435012, -1002, 23 单词之间的空格,不能使用连字符,逗号或“和”: 输入: 6, 16, 60, 64, …

7
蓝图
一个sestina是诗的格式遵循一个有趣的模式,我们可以生成。它有六个节,每个节有六行,其中第一个节中每行的最后一个单词组成每个相继节中以设置模式旋转的行结尾。(最后还有一个三行节,但我们不必担心。)看一下Elizabeth Bishop创造性地命名为Sestina的前三个节: 九月的雨落在房子上。 在失败的曙光中,老祖母 和孩子 坐在小奇迹炉子旁边,坐在厨房里, 读着历书中的笑话, 笑着说着掩饰眼泪。 她认为,历经的泪水 和房屋屋顶上刮起的大雨 都是历书所预言的, 但只有祖母才知道。 铁水壶在炉子上唱歌。 她切了一些面包,对孩子说, 现在该喝茶了;但是孩子 却看着茶壶的细小的硬泪 在疯狂的黑火炉上疯狂地跳舞,就像 雨在房子上跳舞一样。 整理时,老祖母 挂上了聪明的年历 ... 请注意,每一行的结尾是六个单词“房子”,“祖母”,“孩子”,“火炉”,“年鉴”或“眼泪”之一。不仅如此,相对于先前的节,单词的排列方式为6–1–5–2–4–3。最终看起来像螺旋形: 距离以编程方式生成完整的sestina尚有几年的时间,但是我们可以创建一个模板,以适当的顺序包含每个节的结尾词。编写一个程序或函数,给定六个行结束词,并遵循以下规则输出sestina的设计图。这是输入的预期结果house grandmother child stove almanac tears: house grandmother child stove almanac tears tears house almanac grandmother stove child child tears stove house grandmother almanac almanac child grandmother tears …

13
进行气泡排序
创建一个需要两个输入的函数或程序: 应当排序的整数列表(少于20个元素) 一个正整数,N表示您应该进行多少次比较 函数将停止,并在N比较后输出结果的整数列表。如果在进行N比较之前对列表进行了完全排序,则应该输出排序后的列表。 在冒泡排序算法是众所周知的,我想大多数人都知道它。以下伪代码和动画(均来自链接的Wikipedia-文章)应提供必要的详细信息: procedure bubbleSort( A : list of sortable items ) n = length(A) repeat swapped = false for i = 1 to n-1 inclusive do /* if this pair is out of order */ if A[i-1] > A[i] then /* swap them and remember something changed …

18
排序一年中的月份
编写一个函数或程序,需要字符串输入,完全拼写,英语月份名称首字母大写:January,February,March等(空/ CR / LF终止OK,分隔与一些非字母字符,如果你选择),要么 比较两个输入,如果第二个输入(按月顺序)大于第一个输入,则返回True值。相等的值导致Falsey值 或按时间顺序对它们的任意序列(列表,定界字符串等)进行排序 (挑战的症结在于定义一种方法/表达式,以给出正确的词典编排排序。某些语言对另一种语言的回答可能较短) 您不能使用任何内部时间解析方法(例如strptime)将月份名称转换为数字或预设的月份名称映射。使用字符串本身的属性,您定义的简约查找表或更巧妙的方法。 例 正常运行的示例,尽管规则禁止使用第一个示例... import datetime def is_later_month(a, b): ''' Example of prohibited code because it relies on language features about how to parse month names ''' return datetime.strptime(a, '%B') < datetime.strptime(b, '%B') 以下版本是可以的,因为我们将信息编码 months = { 'January': 1, 'February': 2, 'March': 3, 'April': …

5
是否有更多的硬物或软物
与假设分析书的开头相切。 输入是一个由空格组成的矩形,如字符串,字符串列表等,其对象由#内部组成: ######## # # ######## ### #### ### #### ### 对象将始终是非相交,非接触的矩形。软对象的定义是#中间没有用填充的对象,而只是边界,而硬对象则是填充的对象。具有宽度或高度的对象<=2被认为是坚硬的。所有对象都是硬的或软的。 如果输入,输出中有更多的硬对象"Hard",如果较软,则输出"Soft",如果相等则输出"Equal"。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 这些情况不是全部输入,而是每个对象应表征的内容。实际输入将类似于问题顶部的ascii艺术。 硬 # #### ## ## ########## ########## ########## 柔软的 ### # # ### ################### # # # # # # ################### #### # # # # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

3
匈牙利字母顺序
对于那些希望比旧的西班牙字母顺序更具挑战性的人,让我们看一下匈牙利字母的顺序。 a,á,b,c,cs,d,dz,dzs,e,é,f,g,gy,h,i,í,j,k,l,ly,m,n,ny,o,o, ö,ő,p,q,r,s,sz,t,ty,u,ú,ü,ű,v,w,x,y,z,zs 实际上,q,w,x而y不是在匈牙利词连用,但它们包含了外来语和外国名字。不属于匈牙利字母(如ñ)的外来带重音符号的字符与不带重音的字符具有相同的优先级,但是我们对此挑战视而不见。 规则总结如下: 有向图(cs,sz,等)和三字符(dzs)被认为是因为他们对自己的信件。 cudar cukor cuppant csalit csata 如果同一图或三部曲在一个单词中彼此直接出现两次,则它们将以简化方式书写:ssz代替szsz,ddzs而不是dzsdzs字母顺序使用非简化顺序。例如kasza< kaszinó< kassza,因为kassza被用作k+ a+ sz+ sz+ a订货的缘故。有时,如果是复合词,您可以在一个词中找到非合同版本。 kasza kaszinó kassza kaszt nagy naggyá nagygyakorlat naggyal nagyít 大写无关紧要,除非两个词在没有大写的情况下完全相同,在这种情况下,小写字母优先 jácint Jácint Zoltán zongora 重音的元音的短期和长期的版本具有相同的优先级(a - á,e -é,i - í,o - ó,ö - ő,u - ú ü - ű),有一个例外:如果两个词本来是完全一样的,短元音比长元音具有优先权。请注意,与元音(元音ö和ü)是由完全不同的人物o和u。 Eger egér író …

11
最大化平方差
考虑从1到的整数值的置换N。例如此示例N = 4: [1, 3, 4, 2] 我们将认为此列表是循环的,因此1和2被视为相邻列表。我们可以为这样的列表计算的一个量是相邻值的总平方差: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 给定正整数,您的任务是找到一个最大化此数量的排列N。在N = 4上面的例子中不是最佳的(实际上,这是最小的)。18通过以下排列(以及其他几个排列),我们可以实现的总平方差: [1, 4, 2, 3] 您的算法必须在(的N)多项式时间内运行。特别是,您不能简单地计算所有排列的总平方差。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输出可以采用任何方便,明确,平坦的列表或字符串格式。您可以选择从与返回值的列表0,以N-1代替1向N。 适用标准代码高尔夫球规则。 测试数据 这个问题有一个很好的分析解决方案。例如,所有有效的解决方案N = 10均等效于以下列表(直至循环移位和反转): [7, 5, 6, 4, 8, 2, 10, 1, 9, 3] 我不想透露过多的信息(尽管足以找出模式),因此无需给出更多示例,您可以检查您的结果是否具有给定的总平方差N: N Total squared difference 1 0 2 …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

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.