Questions tagged «sorting»

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

2
在BrainF ***中实现QuickSort [关闭]
正如在堆栈溢出休息室中所讨论的: 如果您无法以您最不了解的任何语言来实现en.wikipedia.org/wiki/Quicksort给出的Quicksort算法,则可能需要考虑其他职业。@sbi 但SBI还指出,也许BrainF ***是个例外。 因此,这是一个难题/挑战:在BrainF ***中实现QuickSort。实施必须 被此和/或此处的解释器解释(对于大型脚本) 实施Wikipedia上描述的算法-如果可能的话,就地进行排序 排序以下整数列表:[0,4,6,4,2,3,9,2,3,6,5,3]并打印结果

6
对课本进行排序
对课本进行排序 学校即将开始(如果还没有开始的话),所以是时候准备好我们的教科书了。您需要按字母顺序对书籍进行排序,但是这花了太长时间,因此您决定编写一个程序来实现。 例子 输入: _ | | _ |F| | | |o|_|P| |o|B|P| | |a|C| | |r|G| |_|_|_| 输出: _ | |_ |F| | _|o|P| |B|o|P| |a| |C| |r| |G| |_|_|_| 输入值 输入将是需要按字母顺序重新排列的一组书籍。这将只包含:|,_,,和A-Za-z。书籍的标题是从上至下垂直阅读的。 您可以选择假定输入用空格填充以适合矩形。如果选择用空格填充输入,请在答案中指定。 您的程序需要处理的最大书本高度为5,120行,而不会失败。 书籍将始终为1层,输入中的书籍将始终至少为一本书 输出量 输出结果必须是按字母顺序组织的同一套书籍。重新排列时,书的高度必须保持相同,书名与顶部的间距必须相同。 书籍应按字母顺序排序。如果您的语言具有排序功能,则可以使用该功能。否则,您可以按照此处所述使用字母排序。 书名示例 _ | | | | |F| |o| |o| | | …

30
2的幂和
挑战 给定一个整数输入x其中1 <= x <= 255,返回时总结给出了两种力量的结果x。 例子 给定输入: 86 您的程序应输出: 64 16 4 2 输入: 240 输出: 128 64 32 16 输入: 1 输出: 1 输入: 64 输出: 64 如果总和中没有确定的2的幂,则输出可能包含零。 例如,输入65可以输出0 64 0 0 0 0 0 1。 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜。
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

20
法鲁洗牌数组
阿法鲁洗牌是经常使用的魔术到“洗牌”甲板的技术。要执行Faro随机播放,您首先将卡座切成相等的两半,然后将这两个半插入。例如 [1 2 3 4 5 6 7 8] 法鲁洗牌是 [1 5 2 6 3 7 4 8] 可以重复多次。有趣的是,如果重复此次数足够多,您将总是回到原始数组。例如: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 7 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

8
对这些詹姆斯·邦德评分进行排序
介绍 我的祖父是詹姆斯·邦德(James Bond)的粉丝,但他始终不确定如何对他最喜欢的演员进行排名。因此,他总是在列出清单,这是很多工作。他要求我制作一个程序,使他的生活更轻松,但是我没有时间这样做,我必须工作!所以我指望你们。 挑战 挑战很简单。输入将包含一个列表,格式如下: <number> <space> <actor's name> <newline> 您的任务是根据行首,从末尾到第一个结束的数字对它们进行排序。所有号码都应删除。 但是,我爷爷有时会犯错误。因此,您将需要验证数据。如果列表中的名称之一不涉及扮演邦德的演员之一,则需要将其丢弃。万一重复,应该删除重复,名称应保持与之关联的最低权重(示例3)。 对可以有多少行没有限制。 输出只需是某种形式的列表,无论是数组,逗号分隔的字符串,仅由空格分隔的值还是其他所有内容,即 Pierce Brosnan, Sean Connery, David Niven 尾随换行符或空格是允许的。 输入和输出示例 输入: 1肖恩·康纳利 2艾玛·沃特森 5蒂莫西·道尔顿 4罗杰·摩尔 3丹尼尔·克雷格 输出: 蒂莫西·道尔顿,罗杰·摩尔,丹尼尔·克雷格,肖恩·康纳利 输入: 2蒂莫西·道尔顿 4乔治·拉岑比 5乔治·拉岑比 3鲍勃·西蒙斯 输出: 乔治·拉岑比,鲍勃·西蒙斯,蒂莫西·道尔顿 输入: 3肖恩·康纳利 2皮尔斯·布鲁斯南 1肖恩·康纳利 输出: 皮尔斯·布鲁斯南(Sean Connery) 因为这是代码高尔夫球,所以最短的代码(以字节为单位)获胜! 附录 扮演邦德角色的演员名单: 巴里·尼尔森 鲍勃·西蒙斯 肖恩·康纳利 …

8
可视化合并排序
合并排序是一种排序算法,其工作原理是将给定列表分为两半,对两个较小的列表进行递归排序,然后将它们合并回一个排序的列表。递归的基本情况是到达一个单例列表,该列表无法进一步拆分,但已按定义进行了排序。 [1,7,6,3,3,2,5]可以通过以下方式可视化列表中算法的执行: [1,7,6,3,3,2,5] / \ split [1,7,6,3] [3,2,5] / \ / \ split [1,7] [6,3] [3,2] [5] / \ / \ / \ | split [1] [7] [6] [3] [3] [2] [5] \ / \ / \ / | merge [1,7] [3,6] [2,3] [5] \ / \ / merge [1,3,6,7] …

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 

29
交错串
灵感。*我不敢相信我们之前没有遇到过这样的挑战: 任务 给定一个或多个可打印的ASCII字符串,通过从每个字符串中取出一个字符来循环插入它们,直到出现字符不足。如果字符串先于其他字符用完,则从此以后跳过该字符串。 例子 SIMPLE 给 SIMPLE POLLS并EPEES给PEOPLELESS LYES并APRONS给LAYPERSONS ABCDE并a c和123 567给Aa1B 2Cc3D E567 "\n$?*和​(空字符串)和,(.)" (尾随空格)给出",\(n.$)?"* (尾随空格) *有较短的APL解决方案。

30
ASCII三角形
您的任务是编写一个打印ASCII三角形的程序或函数。他们看起来像这样: |\ | \ | \ ---- 您的程序将采用单个数字输入n,并带有约束0 <= n <= 1000。上面的三角形的值为n=3。 ASCII三角形将具有n反斜杠(\)和竖线(|),n+1线和破折号(-),并且每行除最终行外还将具有等于行号(从0开始,即第一行为行0)的空格。 。 例子: 输入: 4 输出: |\ | \ | \ | \ ----- 输入: 0 输出: 在此测试用例中,输出必须为空。没有空格。 输入: 1 输出: |\ -- 输入和输出必须完全是我指定的方式。 这是代码高尔夫球,因此请争取尽可能短的代码!
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

17
在SE帖子上显示前5条评论分数
Stack Exchange脚本通过在站点上的投票数来确定最初在站点主页上看到的关于问题或答案的五个评论。将显示投票数最高的五个评论。您的任务是重新创建此行为。 编写完整的程序或函数,通过STDIN,命令行参数或函数参数输入,然后打印或返回前五个注释分数。输入将是一个整数数组,代表某个帖子的评论中的投票数。例如,输入 0, 2, 5, 4, 0, 1, 0 表示第一个评论没有投票,第二个评论有2票,第三个评论有5票,第四个有4票,依此类推。评论分数的顺序在输出中应该保持不变。 如果输入内容包含五个或更少的评论分数,则输出内容应只包含给定的分数。如果两个或更多评论分数相同,则应显示第一个分数。您可以假设输入数组将至少包含一个评论分数。 输出中的数字应易于区分(因​​此情况1的02541无效)。否则对输出格式没有限制;数字可以用空格或换行符分隔,也可以采用列表格式,等等。 测试用例: [0, 2, 5, 4, 0, 1, 0] -> [0, 2, 5, 4, 1] [2, 1, 1, 5, 3, 6] -> [2, 1, 5, 3, 6] [0, 4, 5] -> [0, 4, 5] [1, 1, 5, 1, …

17
一quin
给定一个string x,x根据源代码中出现的顺序输出字符。 例子 Source: ThisIs A Test Input: Is it a Test? Output: TissI etta? Source: Harry - yer a wizard. Input: I'm a what? Output: aa wh'?Imt Source: Mr. H. Potter, The Floor, Hut-on-the-Rock, The Sea Input: Output: 规则 适用标准漏洞和I / O规则 输入和输出可以是字符串,字符列表或字节列表。 如果在源中多次使用字符,请使用第一个字符。 如果源中未出现一个或多个字符,则应将其结尾。它们的顺序无关紧要,也不必保持一致。 来源必须为非空 换行符与其他字符一样。 代码执行的顺序无关紧要;只是原始字符串。 输入采用与代码相同的编码。 …

26
箭头那些变量!
挑战 罗宾喜欢用箭头来声明变量。他的做法如下: 输入任意数量的字符串 按长度顺序排列 将它们按中间顺序输出,大致形成一个负箭头,如下所示(以顺序最好的一个为佳): 5 or 4 3 2 1 1 2 3 4 5 测试用例 输入: bow arrows sheriffOfNottingham kingRichard maidMarian princeJohn sherwoodForest 输出: sheriffOfNottingham kingRichard maidMarian bow arrows princeJohn sherwoodForest 输入: a bb cc 输出(均有效): bb a cc cc a bb 输入: one four seven fifteen 可能的输出(唯一有效的输出是其垂直镜像): …

8
告诉我如何失败
作为计算机科学家,您可能都熟悉pop和push的基本列表操作。这些是修改元素列表的简单操作。但是,您听说过操作失败吗?(如倒装触发器)?很简单 给定数字n,反转列表的前n个元素。这是一个例子: >>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> a.flop(4) [4, 3, 2, 1, 5, 6, 7, 8, 9, 10] 翻牌操作很酷的事情是,您可以使用它对列表执行一些很酷的事情,例如对它进行排序。我们将对拖鞋做类似的事情: 给定一个整数列表,“邻居”。换句话说,对它进行排序,以便每个重复的元素连续出现。 这可以用拖鞋完成!例如,采用以下列表: >>> a = [3, 2, 1, 4, 3, 3, 2] >>> a.flop(4) [4, 1, 2, 3, 3, 3, 2] >>> …

8
执行重力排序
挑战 给定一个整数列表,说明如何进行重力排序。 重力排序 在重力排序中,将数字想象成星号行。然后,一切都掉了,新的行显然会被排序。让我们看一个例子: [2, 7, 4, 6]: ** ******* **** ****** ------- ** **** ******* ****** ------- ** | 2 **** | 4 ****** | 6 ******* | 7 注意,这几乎只是并行化冒泡排序。 确切规格 在每次迭代中,从第一行开始,从该行下方没有星号的每个星号开始,然后将其向下移动一行。继续这样做,直到对列表进行排序。 输入值 输入将是严格的正整数列表。 输出量 对于输出,必须输出每个步骤。您可以选择任何两个非空白可打印ASCII字符,一个为“星号”,另一个为分隔的“破折号”。星号行必须用某种标准的换行符分隔(例如\n或\r\f)。破折号行必须至少是最宽的行的宽度(否则星号会掉得太低!)。最底部的破折号是可选的。末尾可以使用换行符。允许在每行尾随空格。 测试用例 输入将被表示为列表,然后输出将立即在下面列出。测试用例用双换行符分隔。 [4, 3, 2, 1] **** *** ** * ---- *** ** …

21
互换指数和价值
任务 编写一个程序或函数,其输入是整数的列表/数组X,输出是整数Y的列表,这样对于每个集合Y中的每个元素e [ i ],X [ e ] = i和这样,Y中集合中元素的总数等于X中元素的数目。 (除了应用于数组之外,这基本上与反转哈希表/字典相同。) 例子 这些示例假定基于1的索引,但是如果愿意,可以改用基于0的索引。 X Y [4] [{},{},{},{1}] [1,2,3] [{1},{2},{3}] [2,2,2] [{},{1,2,3}] [5,5,6,6] [{},{},{},{},{1,2},{3,4}] [6,6,5,5] [{},{},{},{},{3,4},{1,2}] 澄清说明 如果愿意,可以将一个集合表示为一个列表。如果这样做,其元素的顺序无关紧要,但是您可能不会重复元素。 您可以使用任何合理的明确I / O格式;例如,您可以用空格分隔集合的元素,并用换行符分隔集合本身。 Y应该是有限长的,并且至少要长到足以将X的所有元素都作为数组索引。但是,它可能比X的最大元素长(多余的元素将是空集)。 X的元素都将是有效的数组索引,即,如果使用基于0的索引,则为非负整数;如果使用基于1的索引,则为正整数。 胜利条件 作为代码高尔夫球挑战,越短越好。

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.