Questions tagged «optimization»

对于那些侧重于优化其他标签未涵盖的方面的挑战。

23
写大约Moby Dick
这是一个1.2Mb ASCII文本文件,其中包含Herman Melville的Moby-Dick的文本;或者,鲸鱼。您的任务是编写一个程序或函数(或类等,请参见下文),每次给该文件一个字符,并且在每个步骤中都必须猜测下一个字符。 这是代码挑战。您的分数将是 2*L + E 这里L是您以字节为单位提交的大小,并且E是猜测错误的字符数。最低分获胜。 进一步的细节 您提交的内容将是一个程序或函数(等),将被多次调用或调用或发送数据。(1215235倍要准确。)在被要求的Ñ 第一次将给出Ñ 个的字符whale.txt或whale2.txt与它必须输出其猜测为(N + 1)个字符。E分数的组成部分将是它猜错的字符总数。 大多数提交将需要在两次调用之间存储一些状态,以便它们可以跟踪它们被调用了多少次以及以前的输入是什么。您可以通过使用static或全局变量写入外部文件,提交类而不是函数,使用状态monad或其他适用于您的语言的方法来做到这一点。您的提交必须包含在首次调用之前初始化其状态所需的任何代码。 您的程序应确定性地运行,以便在输入相同的情况下始终做出相同的猜测(因此始终获得相同的分数)。 您的答案不仅必须包括您提交的内容,还必须包括您用于计算E分数部分的代码。无需使用与提交内容相同的语言编写,也不会计入其字节数。鼓励您使其可读。 关于您的提交和此计分程序之间的接口,只要您的程序在接收下一个输入字节之前始终给出一个字节的输出,就可以了。(因此,例如,您不能仅将包含所有输入的字符串传递给它,而将包含所有输出的字符串传递回去。) 在提交条目之前,您必须实际运行测试程序并计算/验证分数。如果您提交的内容运行得太慢而无法验证其分数,则即使您知道其分数原则上也没有资格参加比赛。 L分数的组成部分将根据打高尔夫球挑战赛的常规规则进行计算。如果您提交的文件包含多个文件,请在这种情况下注意评分和目录结构的规则。您的代码使用的所有数据都必须包含在您的L分数中。 您可以导入现有库,但不能加载任何其他外部文件,并且您的代码可能无法访问whale.txt或whale2.txt以上述以外的任何方式归档文件。您可能不会加载任何预先训练的神经网络或其他统计数据源。(使用神经网络很好,但是您必须在提交的数据中包含权重数据,并将其计入字节数。)如果由于某种原因,您的语言或库包含提供Moby Dick的部分或全部文本的功能,您可能无法使用该功能。除此之外,您可以使用自己喜欢的任何其他内置或库功能,包括与文本处理,预测或压缩有关的功能,只要它们是您的语言或其标准库的一部分即可。对于更特殊的,包含统计数据源的常规例程,您必须自己实现它们并将它们包括在字节数中。 某些提交可能包含其本身由代码生成的组件。如果是这种情况,请在您的答案中包括用于生成它们的代码,并说明其工作原理。(只要不需要此代码即可运行您的提交,它就不会包含在您的字节数中。) 由于历史原因,该文件有两个版本,您可以在答案中使用其中两个版本。在whale2.txt(上面链接的)文本中没有换行,因此换行符仅出现在段落末尾。在原始whale.txt文本中,文本被包装为74个字符的宽度,因此您必须预测每行的结尾以及文本。这使挑战变得更加挑剔,因此whale2.txt建议新的答案。两个文件的大小相同,均为1215236字节。 总而言之,所有答案都应包括以下内容: 您的提交本身。(代码以及它使用的所有数据文件-如果它们很大,可以作为链接。) 有关代码工作方式的说明。请说明I / O方法以及它如何预测下一个字符。您对算法的解释很重要,好的解释将为我带来很多帮助。 您用来评估分数的代码。(如果与以前的答案相同,则可以链接到它。) 您用于生成提交内容的任何代码,以及对该代码的说明。这包括用于优化参数,生成数据文件等的代码。(这不计入字节数,但应包含在答案中。) 排行榜 显示代码段 var QUESTION_ID=152856,OVERRIDE_USER=21034;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/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 …

30
一个比其短(以字符为单位)的程序可以打印的最小正10基整数是多少?
我认为上述问题很明确,但以防万一: 编写一个完整的程序(不仅仅是一个函数),该程序将打印一个以10为基数的正整数,并可以选择后跟一个换行符。 合格程序将是输出比程序源代码长(以字节为单位)的程序,以字节为单位(假定程序源代码为ASCII或UTF-8编码)。 即,代码必须短于所得数字中的位数。 在任何情况下都不允许前导零。计算前导零使问题变得微不足道;忽略前导零将使这个问题变得不必要。 获胜的程序将是合格程序,该程序将打印出幅度最小的整数。 排行榜摘要 显示代码段 var QUESTION_ID = 67921; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) { return "https://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER; } function …

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  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 

10
小钱德勒很伤心。画他的云,使他振作起来
小钱德勒很伤心。画他的云使他振作起来。 注意:画云实际上不会使他振作起来。 圆可以定义为三元组(x,y,r),其中x是圆在笛卡尔平面上的x位置,是圆在笛卡尔平面y上的y位置以及圆r的半径。x并y可能是负面的。r永远是积极的。输入是以空格分隔的三元组形式的圆的列表。例如: 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 的3,1,1意思是“在与中心点的圆3,1与1个半径。3,2,1.5是指”在与中心点的圆3,2用1.5半径。 如果我们在图形上绘制输入的所有这些圆,则看起来像这样(我仅出于清晰起见添加了网格线和标签;它们不是必需的): 注意所有的圆是如何凝聚的。也就是说,它们全部重叠在一起,从而形成一个大的组,而没有其他的小圈子。输入保证是内聚的。 假设现在绘制一条绕这些圆形成的“边界”行进的线,而没有其他任何线。就像绘制所有圆组成的轮廓的边界一样。生成的云看起来像这样: 因此,仅通过在输入中绘制形成边界的圆弧来形成单一形状即可形成此云。换句话说,仅通过绘制不在另一个圆内的圆弧来形成云。您的程序将以上述形式接受输入,并输出显示结果云的图像。云的整体形状必须正确,但是比例,颜色,线条粗细以及在顶点处的外观取决于您。请注意,云必须是可见的,因此您不能拉出类似“此程序在白色背景上绘制白色云”,“此程序以无限小的比例绘制云”,“此程序以0绘制云”之类的内容。线宽”等。还请注意,边框的颜色必须与填充或背景的颜色不同。 另一个例子。输入: 1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7 输出: 如果云中存在“洞”,则也应绘制该洞。输入: 0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4 输出: 这是一条重要规则:您的程序必须仅绘制形成边框的线。这意味着您不能简单地完全绘制圆,然后用白色填充将圆绘制得稍小一些,因为该方法仍会绘制不形成边界的线,之后只会将其覆盖。该规则的目的是防止“绘制圆,然后用白色填充再次绘制圆”的实现或类似的方法。预计答案将在绘制之前实际计算出绘制对象的位置。 这是代码高尔夫球,因此最短的字符数获胜。

8
这句话吗?
您应该编写一个程序或函数,该程序或函数以4个字符的字符串作为输入,并输出一个值,该值指示该字符串是否为英语单词。您可以在提供的15%的测试用例中出错。 输入详细信息: 输入是4个字符的字符串,仅包含小写英文字母(az)。 输出详细信息: 如果输入是英文单词,则应输出布尔值true或整数1。 如果输入的不是英语单词,则应输出布尔值false或整数0。 词表 4个字母的英语单词列表(2236个单词) 4个字母的非单词字符串(2236个字符串)列表 非单词列表包含统一随机生成的字母序列,其中已删除了真实单词。 测试中 您的程序或函数在给定单词列表上所犯的错误总数不应超过15%。这意味着您可以为4472个提供的输入中的670个提供错误的输出。 您也应该发布测试程序或功能,以便其他人可以检查您的答案。测试程序的时间不计入提交分数。 不允许出现标准漏洞。 您的程序不应使用任何外部资源,例如访问Web或从文件读取。 这是代码高尔夫球,因此最短的程序或函数会获胜。

3
最短的通用迷宫出口绳
通过指定每个边缘是墙还是墙来定义方形单元的N x N网格上的迷宫。所有外边缘均为墙。一个单元格定义为开始,一个单元格定义为退出,并且从开始即可到达出口。开始和退出永远不会是同一单元格。 请注意,起点和出口都不必位于迷宫的外部边界,因此这是有效的迷宫: 字符串“ N”,“ E”,“ S”和“ W”表示试图分别向北,向东,向南和向西移动。被墙壁阻止的移动将被跳过而不会移动。如果从头开始应用该字符串会导致到达出口,则该字符串会退出迷宫(无论该字符串在到达出口后是否继续)。 灵感来自这个puzzling.SE问题,针对同或提供一个解决的方法可证明具有很长的字符串,编写代码,可以发现,通过3迷宫退出任何3一个字符串。 排除无效的迷宫(在同一单元格上开始和退出,或无法从开始到达出口),有138,172个有效迷宫,并且字符串必须退出每个迷宫。 有效期 该字符串必须满足以下条件: 它仅由字符“ N”,“ E”,“ S”和“ W”组成。 如果从头开始,它将退出应用到的所有迷宫。 由于所有可能的迷宫都包括每个可能的迷宫以及​​每个可能的有效起始点,因此这自动意味着字符串将从任何有效的起始点退出任何迷宫。也就是说,从可以到达出口的任何起点开始。 获奖 获胜者是提供最短有效字符串并包括用于生成它的代码的答案。如果有多个答案提供了最短的字符串,则第一个提交该字符串长度的用户将获胜。 例 这是一个长度为500个字符的示例字符串,可以给您带来一些帮助: SEENSSNESSWNNSNNNNWWNWENENNWEENSESSNENSESWENWWWWWENWNWWSESNSWENNWNWENWSSSNNNNNNESWNEWWWWWNNNSWESSEEWNENWENEENNEEESEENSSEENNWWWNWSWNSSENNNWESSESNWESWEENNWSNWWEEWWESNWEEEWWSSSESEEWWNSSEEEEESSENWWNNSWNENSESSNEESENEWSSNWNSEWEEEWEESWSNNNEWNNWNWSSWEESSSSNESESNENNWEESNWEWSWNSNWNNWENSNSWEWSWWNNWNSENESSNENEWNSSWNNEWSESWENEEENSWWSNNNNSSNENEWSNEEWNWENEEWEESEWEEWSSESSSWNWNNSWNWENWNENWNSWESNWSNSSENENNNWSSENSSSWWNENWWWEWSEWSNSSWNNSEWEWENSWENWSENEENSWEWSEWWSESSWWWNWSSEWSNWSNNWESNSNENNSNEWSNNESNNENWNWNNNEWWEWEE 感谢orlp捐赠了这个。 排行榜 相等分数按该分数的发布顺序列出。这不一定是答案发布的顺序,因为给定答案的分数可能会随时间更新。 法官 这是一个Python 3验证器,它使用NESW字符串作为命令行参数或通过STDIN。 对于无效的字符串,这将为您提供失败的迷宫的直观示例。

1
键入给定文本所需的击键次数最少
我们都知道程序员往往很懒。为了最大限度地利用您的空闲时间,您决定编写一个程序,该程序为输入的文本输出最少的击键次数。 输入:必须转换为击键的文本。您可以决定如何输入文本(STDIN /从参数中提供的文件中读取) 输出:以下格式的必要操作: 他们必须编号 H它:按下一个键并立即释放它 P提示:按下一个键然后不松开(将键R作为下一个击键时,这将永远不是最佳选择) Release:释放P密钥 范例: 输入: Hello! 输出: 一个幼稚的解决方案是: 1 P Shift 2 H h 3 R Shift 4 H e 5 H l 6 H l 7 H o 8 P Shift 9 H 1 10 R Shift 这样会更有效: 1 P Shift 2 H h …

6
岛屿高尔夫#1:环游世界
这是Island Golf系列挑战中的第一个。下一个挑战 给定ASCII艺术形式的孤岛,请输出对其进行绕行的最佳路径。 输入项 您的输入将是一个由两个字符组成的矩形网格,分别代表土地和水。在下面的示例中,土地是#,水是.,但是您可以替换任意两个不同的字符。 ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... 始终将至少有一个地砖。地砖将是连续的(即只有一个岛)。瓷砖也将是连续的(即没有湖泊)。网格的外边界都是水瓦片。地砖将不会以对角线连接:即,您将永远不会看到类似 .... .#.. ..#. .... 输出量 您的代码必须输出相同的网格,并在其上画出最短的环绕。在下面的示例中,环行路径用绘制o,但是您可以替换任何字符,只要它与您的水陆字符不同即可。 一个环游是一个简单的封闭曲线,完全是靠水的瓷砖画,能够完全包围在网格中的所有土地的瓷砖。对角线的连接被允许的。例如,这是上述岛屿的环游世界(但不是最短的一个): .ooooo..... o..##.oo... o.#####.o.. o.#######o. o#########o ooo#######o ..o#####.#o ..oo####..o ....oooooo. 环行的长度计算如下:对于路径上的每对相邻的图块,如果它们是水平或垂直连接的,则加1;否则,为0。如果对角连接,则加√2。以上路径的长度为22 +7√2(≈31.9)。 甲最短环游是用最短的长度的环游。您的程序应输出满足此条件的任何一条路径。对于大多数岛屿,将有多种可能的解决方案。这是上述岛的一种解决方案,长度为10 +13√2(≈28.4): ...oo...... ..o##oo.... .o#####oo.. .o#######o. o#########o .o.#######o ..o#####.#o ...o####.o. ....ooooo.. 细节 您的解决方案可能是完整程序或功能。任何默认的输入和输出方法都是可以接受的。 您的输入和输出可以是多行字符串或字符串列表。如果您的语言具有不同于单字符字符串的字符类型,则可以在上一句中用“字符列表”代替“字符串”。如果您的语言需要输入网格的高度和/或宽度,则可以输入。您的输出可能(可选)有一个尾随换行符。如上所述,您可以使用任何三个不同的字符来代替#.o(请在提交中指定要使用的字符)。 测试用例 A.环游时间最短的岛屿: ... …

16
可以多小?
以正整数N开头,找到最小的整数N',可以通过将N除以其一位数字(以10为底)来计算得出。每个选定的数字必须是N的除数大于1。 例子1 预期的输出为N = 230是N” = 23: 范例#2 预期的输出为N = 129528是N” = 257: 提防非最佳路径! 我们可以从129528/9 = 14392开始,但这不会导致最小的结果。如果首先除以9,我们可以做的最好的事情是: 规则 输入可以采用任何合理的格式(整数,字符串,数字数组等)。 这是代码高尔夫球,因此最短答案以字节为单位! 测试用例 1 --> 1 7 --> 1 10 --> 10 24 --> 1 230 --> 23 234 --> 78 10800 --> 1 10801 --> 10801 50976 --> 118 129500 --> …

30
天哪,吉萨高尔夫!
“吉萨数”(俗称“ 蒂米数”)是指数字代表金字塔的任何数字(A134810)。例如,“ 12321”是一个吉萨数字,因为它可以像这样可视化: 3 2 2 1 1 但是,“ 123321”之类的字符不是吉萨币,因为金字塔的顶部有两位数字 33 2 2 1 1 换句话说,如果满足以下所有条件,则数字为吉萨数: 它的位数是奇数,中间的数字是最大的 它是回文的(相同的向前或向后读取),并且 数字的前半部分严格增加一个。(由于必须是回文,这意味着数字的后半部分必须严格减少一位) 您必须编写一个采用正整数作为输入的完整程序或函数,并确定它是否为吉萨数。您可以将输入作为字符串或数字。如果它是吉萨数,则输出真实值。否则,将产生虚假的值。 共有45个吉萨数字,因此这些输入中的任何一个都应产生真实值: 1 2 3 4 5 6 7 8 9 121 232 343 454 565 676 787 898 12321 23432 34543 45654 56765 67876 78987 1234321 2345432 3456543 4567654 5678765 …

3
解决魔方
编写最短的程序,以在合理的时间范围内移动并解决Rubik的多维数据集(3 * 3 * 3)(例如,在您的计算机上最多5秒,而最多移动1000秒)。 输入的格式为: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (此特定输入表示已解决的多维数据集)。 前12个2个字符的字符串是UF,UR,... BL位置中的边(U =上,F =前,R =右,B =后,L =左,D =下),然后是下8个3个字符的字符串是UFR,URB,... DBR位置中的角。 输出应以这种格式给出一系列移动: D+ L2 U+ F+ D+ L+ D+ F+ U- F+ 其中D1或D +代表将D(下)面顺时针旋转90度,L2代表将L面旋转180度,U3或U-代表将U面逆时针旋转90度。 字母不区分大小写,空格是可选的。 …

22
基本ASCII提示
替代标题:在墙上统计您的监狱判决 给定一个数字n,输出记录分为传统的每组5个和每行50个。 例子 1个 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| |/|| |/|| …
36 code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

1
多米诺电路
计分板 这是VisualMelon提交的原始分数(即多米诺骨牌数)。当有更多答案出现时,我将把它们变成下面描述的归一化分数。现有解决方案现在可以解决基准测试中的所有电路: Author Circuit: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- VisualMelon 39 45 75 61 307 …

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] …

3
选择手中的最后一张卡
扑克牌从好到坏排名如下: 同花顺-顺序排名的五张牌,都相同 四种-相同等级的四张牌和另一等级的另一张牌 满屋子-一等三张,另一等两张 同花顺-五张相同的牌 顺子-五张连胜 三种-相同等级的三张牌和另外两个等级的两张牌 两对-两张同等级的牌,两张另一等级的牌和一张第三等级的牌 一对-两张相同级别的牌和三张其他三个级别的牌 高位卡-五张并非顺序相同或完全相同的卡,且均不属于同一等级 等级=卡上的数字(A,K,Q,J,10、9、8、7、6、5、4、3、2)。您可以选择使用T而不是10。 套装=心(h),黑桃(s),球棒(c)和钻石(d)。 请注意,Ace A既可以是最高编号,也可以是最低编号(1或14)。 可以通过两个字母As(黑桃A),Jc(杰克俱乐部),7h(红心7 )来识别卡。 挑战: 您从发牌人那里得到四张牌(四个输入字符串)。查找并输出您可能获得的最好的最后一张卡。 如果有同样不错的卡片,那么您可以选择要挑选的卡片。 输入和输出格式是可选的,但必须如上所述Jc和标识单个卡2h。 测试用例: Ah Kh Jh 10h Qh 7d 8h 10c Jd 9d (or 9h, 9c, 9s) Js 6c 10s 8h Jc (or Jh, Jd) Ac 4c 5d 3d 2h (or 2d, …

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.