Questions tagged «sorting»

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

29
将数字重新排列为字母顺序
给定一个非负整数(n)n,请根据中每个数字的文字拼写,创建一个按字母顺序返回的函数n。 例子: Input: 101 >> one, zero, one >> one, one, zero Output: 110 Input: 31948 >> three, one, nine, four, eight >> eight, four, nine, one, three Output: 84913 Input: 5544 >> five, five, four, four >> five, five, four, four Output: 5544 Input: 1234567890 Output: 8549176320 注意:示例中的操作仅是说明性的,不需要包含在输出中。仅需要返回按字母顺序排序的数字。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 …

20
模仿订购
给定两个数字列表,一个源和一个模式,对源重新排序以匹配模式的相对顺序。重新排序的源中的任何两个条目应与模式在相同位置的条目进行比较。 例如,输入 s = [-5, 9, 4, 13, 11, -6, 0] p = [7, -4, 1, -8, 4, -3, 12] 应该产生结果 [11, -5, 4, -6, 9, 0, 13] 比较第一个和最后一个位置,结果有11<13,7<12在模式中匹配。 输入:两个等长的非空整数列表。每个列表都不会重复。是否首先给出源或模式由您决定。 输出:重新排列源编号以使其与图案编号具有相同相对顺序的列表。 排行榜: 显示代码段 var QUESTION_ID=62587,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/62587/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var …

9
打印所有3 x 3坚固的正方形
坚固的正方形(类似于魔术正方形)是整数1到N 2在N by N网格上的排列,以使每2 by 2子网格具有相同的总和。 例如,对于N = 3,一个坚固的正方形是 1 5 3 9 8 7 4 2 6 因为四个2 x 2子网格 1 5 9 8 5 3 8 7 9 8 4 2 8 7 2 6 全部加起来等于23, 23 = 1 + 5 + 9 + 8 = 5 + …
24 code-golf  number  arithmetic  number-theory  grid  code-golf  binary  code-golf  popularity-contest  code-golf  chemistry  code-golf  code-golf  date  code-golf  quine  chess  code-golf  hexadecimal  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  math  date  code-golf  typography  code-golf  string  code-golf  string  code-golf  code-golf  math  arithmetic  array-manipulation  grid  code-golf  puzzle-solver  code-golf  music  audio  code-golf  decision-problem  code-golf  geometry  code-golf  number  bitwise  code-golf  string  metagolf  hexagonal-grid  code-golf  string  code-golf  sorting  popularity-contest  code-golf  game  sequence  base-conversion  binary  code-golf  decision-problem  graph-theory  natural-language  code-golf  math  parsing  optimized-output  code-golf  array-manipulation  code-golf  graphical-output  image-processing  tiling  code-golf  graph-theory  path-finding  chess  code-golf  code-golf  balanced-string  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  statistics  code-golf  chemistry 

25
按最大数字排序
挑战: 给定一个整数列表,请按其最大的一位数字降序排列。具有相同大数字的数字的顺序将按第二大数字排序,依此类推。 我们忽略数字中重复的数字。而且,如果一个数字中的所有数字都相同,则列表中这些数字的顺序可以是您想要的任何方式。 例: Input: [123, 478, -904, 62778, 0, -73, 8491, 3120, 6458, -7738, 373] Possible outputs: [8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0] [8491, -904, 62778, 478, -7738, 6458, -73, 373, 3120, 123, 0] 为什么?以下是对数字进行排序的相关数字: Output: [8491, -904, 62778, 478, -7738, 6458, 373, -73, …

26
找出单词的等级
定义 单词的等级定义为当单词的所有可能排列(或排列)按字母顺序排列(例如在字典中)时的位置,无论单词是否有意义。 让我们考虑这两个词-“蓝色”和“可见”。首先,我们将按字母顺序写出这些单词的字母的所有可能排列: "blue": "belu","beul","bleu","blue","buel","bule","eblu","ebul","elub","elbu","eubl", "eulb","lbeu","lbue","lebu","leub","lube","lueb","ubel","uble","uebl","uelb", "ulbe","uleb" "seen": "eens","eesn","enes","ense","esen","esne","nees","nese","nsee","seen", "sene","snee" 现在让我们从左边看,找到所需单词的位置。我们看到单词“ blue”在第4位,“ seen”在第10位。因此,单词“ blue”的等级为4,“ seen”的等级为10。这是计算单词等级的一般方法。确保仅从1开始计数。 任务 您的任务是编写代码,以将任何单词作为输入并显示其排名。排名应该是输出。小心包含重复字母的单词。 例子 "prime" -> 94 "super" -> 93 "bless" -> 4 "speech" -> 354 "earth" -> 28 "a" -> 1 "abcd" -> 1 "baa" -> 3 您可以假定输入完全是小写,并且输入将仅包含字母字符。另外,如果输入空格或无效字符串,则可能返回任何内容。 计分 这是代码高尔夫球,因此最短的代码获胜!

30
可靠的分选
给定一个包含至少3个不同条目的正整数列表,请输出该列表的排列,该排列未按升序或降序排序。 例子 1,2,3 -> 2,1,3 or 3,1,2 or 1,3,2 or 2,3,1 1,2,3,3 -> 2,1,3,3 or 3,1,2,3 or 1,3,2,3 etc.. 感谢@Arnauld和@NoOneIsHere的标题!

25
数字增加而字母减少
受此堆栈溢出问题的启发:对列表进行排序:数字以升序排列,字母以降序排列。您的任务是解决以下问题,并且由于这是code-golf,因此应尽可能减少字节。 你应该采取的对象为包含字母输入的列表(任何合理形式:string,char,等)和数字。然后,您应该将数字按升序排序,并将字母按降序排序。但是,应将字母保持在字母位置,将数字保持在数字位置。例如,如果列表为: [L, D, L, L, D, L] 输出列表应采用以下形式: [L, D, L, L, D, L] 遍历 输入: ['a', 2, 'b', 1, 'c', 3] 将数字按升序排序: [1, 2, 3] 将字母按降序排列: ['c', 'b', 'a'] 重新加入他们,但顺序保持不变: ['c', 1', 'b', 2, 'a', 3] 规则 该列表将仅包含字母和数字。 该列表可能为空。 该列表只能包含字母或数字。 如果您的语言不支持混合类型数组,则可以使用数字字符而不是数字。请注意,如果您的语言支持,则必须使用混合类型。 字母只会是[a-z]或[A-Z],您可以选择其中一个。 字母被排序为a最低,z最高,即a = 1, z = 26。 …

2
使用“子向量反转”优化排序
这是最小操作挑战,其目标是使用最少的反转将向量排序为升序。您的算法只能使用“子向量反转” 1对向量进行排序,但是它可以将其他运算用于算术运算,循环,检查其是否已排序等。算法执行的子向量反转的次数是其得分。 1个“子向量反转”: 在向量中选择一个数字范围,然后反转该范围内的元素。 举一个简单的例子,如果从vector开始{4,3,2,1},则可以用许多不同的方式对其进行排序: 反转整个向量。显然,这是最短的方法,因为它只需要一次逆转即可:{4,3,2,1} -> {1,2,3,4} 您可以执行冒泡排序的一个版本,该过程需要6个冲销: {4,3,2,1} -> {3,4,2,1} -> {3,2,4,1} -> {2,3,4,1} -> {2,3,1,4} -> {2,1,3,4} -> {1,2,3,4} 您可以从前三个元素开始,然后是最后三个元素,最后是两个第一个和最后两个,这需要进行4次交换: {4,3,2,1} -> {2,3,4,1} -> {2,1,4,3} -> {1,2,4,3} -> {1,2,3,4} ... 等等。有无数的可用选项(您可以根据需要重复执行任何操作)。 规则和要求: 对于包含100个数字的列表,您的代码必须在不到一分钟的时间内完成。您可以自己安排时间,但是请公平地玩2。 您必须存储所执行的所有交换的开始索引和结束索引,以便可以验证解决方案。(我将在下面解释这是什么意思)。 该代码必须是确定性的。 您可以根据需要使用任何格式的输入:数字矢量,链表,带长度的数组...任何您喜欢的格式。 您可以对向量的副本执行任何您喜欢的操作。这包括尝试不同的冲销并检查哪个效率最高。蛮力强行完全可以,但是要遵守时间限制。 分数是5个测试向量的翻转总数。抢七局将加盖日期戳。 例: 4 1 23 21 49 2 7 9 …

3
烧饼问题
这项挑战与翻转薄煎饼有关。 您可能听说过煎饼分类,将一叠煎饼按大小分类,方法是将锅铲插入堆栈中,然后将所有煎饼翻转到锅铲上方,直到煎饼在盘上从最小到最大被分类。煎饼烧焦的问题略有不同。现在,所有薄煎饼的一面都被烧过,一旦分类完成,每个薄煎饼的烧过的一面必须面对盘子。 例如,给定以下堆栈(左侧的煎饼大小。右侧0为糊状,右侧1为糊状): 1 0 3 1 2 1 您可以翻转整个堆栈以获取20 30 11,翻转前两个31 21 11堆栈以获取10 20 30,然后再次翻转整个堆栈以获取,是一叠烧焦的煎饼。翻转3,翻转2,翻转3的移动顺序可以表示为3 2 3。 挑战 给定一组煎饼的大小(不一定是唯一的)和它们的方向,输出任何有效的烧饼分类顺序,即一系列翻转,导致从薄饼到烧饼的面朝下从最小到最大的顺序排列。 输入和输出可以是任何带有分隔符的理智的格式,但是请指定要使用的格式,并指出输入格式的哪一端是堆栈的顶部(TOS)。 允许翻转零煎饼。 允许在输入/输出中混合分隔符。 测试用例 对于以下所有测试用例,输入是一个列表,输出是一个用空格分隔的字符串,TOS在左侧。 [[1, 0], [3, 1], [2, 1]] "3 2 3" [[5, 1], [3, 0], [4, 1], [2, 1], [1, 0]] "5 3 4 1 3 2 …

11
合理排名值
任务 给定整数的输入列表中X 1 ... X Ñ,计算行列的列表- [R 1个 ...ř Ñ(的置换{1 ... N} ),使得X - [R 1 ≤X - [R 2 ≤...≤X - [R Ñ。然后,对于每个x i,用x中等于x i的所有值的秩的算术平均值替换其秩。(即,每当有相等的值之间的粘结X,相当重新分配在所有它们的行列。)输出等级的改性列表R“ 1 ... R”n。 (对于统计极客:在Mann-Whitney U检验中使用了这样的观察结果排名(方法2,步骤1。)) 例 给定输入列表[3,-6,3,3,14,3],排名的第一个列表将是[2,1,3,4,6,5],将列表分类为[-6, 3,3,3,3,14]。然后,输入列表中所有3 s 的等级被平均为(2 + 3 + 4 + 5)÷4 = 3.5。最终输出为[3.5,1,3.5,3.5,6,3.5]。 测试用例 [4, 1, 4] -> [2.5, …

9
排序嵌套列表
您必须编写对嵌套列表进行排序的程序或函数。以下是对嵌套列表进行排序的规则: 让我们以这个清单为例: ((5, 2), 2, 7, (2, 1, (3, 4)), 9) 此列表中的每个元素都有一个“优先级”。元素计为数字或子列表。首先,在相同深度获得每个元素的优先级。如果元素只是数字,则其优先级与数字本身相同。如果元素是子列表,则其优先级是其中所有数字的总和,不包括任何子子列表。 因此,深度1的所有元素的优先级为: ( 7 ) 2 7 ( 3 ) 9 ((5, 2), 2, 7, (2, 1, (3, 4)), 9) 按优先级对每个元素进行排序。如果有平局,则必须保持与原始列表相同的顺序。 2 ( 3 ) ( 7 ) 7 9 (2, (2, 1, (3, 4)), (5, 2), 7, 9) …

3
排序这些债券评级
任务 该信用评级机构指定分级债券根据发行人的信用度,而“三巨头”信用评级机构使用类似(虽然不完全相同)分层分级系统。它们具有明确的逻辑顺序-使用S&P层,AAA> AA +> AA> AA-> A +> ...> BBB> B> ...> C.穆迪使用相似的系统,但对它们的层命名不同( Aaa> Aa1> Aa2> ...> Baa1> ...> C)。 您的任务是设计一个程序,该程序将代表债券评级层的字符串列表作为输入,并输出相同的列表,并按从最高层(AAA / Aaa)到最低层(C)的降序排列。 输入输出 您可以选择输入的格式(列表,每个自变量一个,CSV文件)。您可以假定输入列表中的每个项目都是有效的评级字符串,并且列表中的所有评级字符串均来自同一评级机构。此外,您可能会假设不包含任何时髦的NA风格评级,例如“ NR”或“ WR”-严格从“ Aaa / AAA”到“ C”。输入列表中可能有重复的评分,如果发现,则不应删除它们。 您还可以选择适合您的语言的输出格式,唯一的限制是输出的格式应该是一些标准的文本编码,例如UTF-8或ASCII。 规则和计分 这是代码高尔夫,因此最低字节数获胜,不允许出现标准漏洞。请指定输入和输出格式。 示例程序和测试用例 下面的示例Python程序可以用作正确排序顺序的标准示例。列表Moody和SP是要使用的订购。 Moody = ['Aaa', 'Aa1', 'Aa2', 'Aa3', 'A1', 'A2', 'A3', 'Baa1', 'Baa2', 'Baa3', 'Ba1', 'Ba2', …

15
几何挑战
每个人都喜欢几何。那么,为什么我们不尝试编写高尔夫球代码呢?这项挑战涉及输入字母和数字并根据其形状。 输入 输入将采用的形式(shapeIdentifier)(size)(inverter)。 但是shapeIdentifier,大小和逆变器是什么? 形状标识符是您将使用*s 制作的形状类型的标识符。以下是形状标识符: s -正方形 t - 三角形 大小将介于之间1-20,它是图形的大小。 逆变器确定形状是否上下颠倒,用a +或a 表示-。请注意: s3-==(等于),s3+因为正方形是对称的。但是,t5-!=(不相等)t5+。 在输出中可以使用尾随空白,但不能使用前置空白。 输出实例 Input: s3+ Output: *** *** *** Input: t5+ Output: * *** ***** Input: t3- Output: *** * 特别说明 三角形输入将始终为奇数,因此三角形*的顶部始终以1结尾。 三角形的大小(如果是)是底部的大小,如果是 +,则是顶部的大小-。
23 code-golf  string  ascii-art  geometry  code-golf  ascii-art  subsequence  fewest-operations  test-battery  code-golf  array-manipulation  bitwise  code-golf  interactive  code-golf  music  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  simulation  code-golf  string  classification  code-golf  sequence  base-conversion  palindrome  code-golf  kolmogorov-complexity  code-golf  date  astronomy  code-golf  sequence  base-conversion  code-golf  geometry  combinatorics  code-golf  string  code-golf  math  array-manipulation  code-challenge  math  code-golf  card-games  code-challenge  array-manipulation  sorting  code-golf  code-golf  math  abstract-algebra  polynomials  code-golf  palindrome  factoring 

23
ASCII艺术八边形
给定输入整数n > 1,输出边长由n字符组成的ASCII八角形。请参阅以下示例: n=2 ## # # # # ## n=3 ### # # # # # # # # # # ### n=4 #### # # # # # # # # # # # # # # # # #### n=5 ##### # # # # # # …
22 code-golf  ascii-art  code-golf  geometry  code-golf  balanced-string  code-golf  cops-and-robbers  code-challenge  cops-and-robbers  code-golf  code-golf  random  cryptography  code-golf  array-manipulation  number  code-challenge  integer  code-golf  math  integer  code-golf  math  math  parsing  image-processing  test-battery  math  number  combinatorics  fastest-code  code-golf  code-golf  math  number-theory  rational-numbers  polynomials  code-golf  math  geometry  code-golf  code-golf  number-theory  primes  factoring  code-golf  restricted-source  code-golf  string  decision-problem  counting  code-golf  math  sequence  fibonacci  code-golf  array-manipulation  counting  code-golf  array-manipulation  number-theory  code-golf  array-manipulation  code-golf  random  code-golf  string  hexadecimal  code-golf  string  code-challenge  sorting  code-golf  number  floating-point  code-golf  sorting  code-golf  decision-problem  fibonacci  code-golf  number  combinatorics  code-golf  string  code-golf  math  code-golf  electrical-engineering  code-golf  javascript  code-golf  base-conversion  code-golf  array-manipulation  matrix  binary-matrix  code-golf  kolmogorov-complexity  python  perl  ruby  code-golf  number  code-golf  optimization  integer-partitions  code-golf  string  code-golf  ascii-art 

24
ogl-edocf挑战
输入项 一个非空的字符串,由范围内的ASCII字符组成。[ 32..126 ][32..126][32..126] 输出量 通过对输入字符串进行连续旋转来获得输出。 对于[a-zA-Z]输入字符串中的每个字母(),从左到右: 如果字母是大写字母,请将其前面的所有字符向左旋转一个位置 如果字母是小写字母,请将其前面的所有字符向右旋转一个位置 例 输入:“ Cb-Ad” 第一个字母是“ C ”。我们应该向左旋转,但是这个“ C ” 之前没有字符。因此,没有任何旋转。 下一个字母是“ b ”。我们向右旋转“ C ”。因为它是单个字符,所以它保持不变。 字符“ - ”不会触发任何旋转,因为它不是字母。 下一个字母是“ A ”。我们轮流“ CB- ”到左边,这给“ 公元前广告” 第四个也是最后一个字母是“ d ”。我们向右旋转“ b-CA ”,即为“ Ab-C d” 因此,预期输出为“ Ab-Cd ”。 规则 您可以将输入作为字符串或字符数组进行输入-根据您的语言,输入内容可能相同也可能不同。 您也可以输出字符数组而不是字符串。 这是ogl-edocf 代码高尔夫 测试用例 "cbad" -> …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

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.