Questions tagged «subsequence»

与更大序列中的序列有关的挑战

11
2D分区累计总和
挑战 给定的矩阵中号与[R行和C ^列和两个布尔列表V长度的ř和ħ长度的Ç,计算所述划分累积的垂直和水平的和。 规则 r和c大于或等于1 H和V以真实值开头 M中的值在您语言的合理数值范围内。 分区和求和从左上角开始。 穿过 给定M: ┌──────────────┐ │ 1 2 3 4 5│ │ 6 7 8 9 10│ │11 12 13 14 15│ │16 17 18 19 20│ └──────────────┘ 高:1 0 1 0 0 V:1 1 0 1 将M分为几列,以H的每个真实值开始一个新的组 ┌─────┬────────┐ │ 1 2│ 3 4 …

11
二进制子串的总和
这个挑战很简单,给定一个十进制数,将其转换为二进制数,并计算其长度小于原始数的二进制数子串的总和。这是一个例子: Input: 11 Binary: 11 -> 1011 Substrings: 101 = 5 011 = 3 10 = 2 01 = 1 11 = 3 1 = 1 0 = 0 1 = 1 1 = 1 Sum: 5+3+2+1+3+1+0+1+1=17 Output: 17 您的程序应采用一个十进制整数作为输入,并输出二进制子字符串的总和,如上所述。您可能会假设输入的二进制表示形式始终有两位以上的数字,并且输入的内容在程序执行期间不会引起任何错误。 这是代码高尔夫球,以字节为单位的最短代码胜出! 测试用例: 2 => 1 3 => 2 4 => …

2
划分为增加的子序列
规格 这个挑战很容易说明:您的输入是一个非负整数的非空数组,您的任务是将其划分为尽可能少的递增子序列。更正式地讲,如果输入数组是A,则输出是一个数组数组B,使得: 每个阵列B形成A不相交(不一定是连续的)子序列的分区。在归纳法上,这意味着要么B是包含的单例数组,要么是的A第一个元素B是的子序列,A其余部分形成的分区,A并且删除了该子序列。 B(不一定严格)增加每个数组。 中的数组数量B最少。 输入和输出都可以采用您语言的本机数组格式。请注意,可能有几个正确的输出。 例 考虑输入数组A = [1,2,1,2,5,4,7,1]。一种可能的输出是B = [[1],[1,2,4,7],[1,2,5]]。从此图可以明显看出分区条件: A 1 2 1 2 5 4 7 1 B[0] 1 B[1] 1 2 4 7 B[2] 1 2 5 同样,每个数组都在B增加。最后,A由于不能分为两个递增的子序列,因此的长度B也很短。因此,这是有效的输出。 规则和计分 您可以编写函数或完整程序。最低字节数获胜,并且不允许出现标准漏洞。没有时间限制,但是您应该在提交所有测试用例之前对解决方案进行评估。 测试用例 仅显示一个可能的输出,但可能有多个有效选项。特别地,结果中数组的顺序无关紧要(但每个单独的数组应按递增顺序排列)。 [0] -> [[0]] [3,5,8] -> [[3,5,8]] [2,2,2,2] -> [[2,2,2,2]] [1154,1012,976,845] -> [[845],[976],[1012],[1154]] [6,32,1,2,34,8] …

8
最短,字典上最小的生成字符串
如果是的无限重复的子字符串,则字符串会x 生成一个字符串。例如产生。yyxabcbcabcab 编写程序以查找将生成输入的最短,字典最小的字符串。在标准输入上会为您提供单行文本。您应该将生成的字符串打印到标准输出。例如: 输入 bcabcabca 输出 abc 最短的代码获胜。您可以假设输入仅包含字符az(如果需要,还可以包含尾随换行符)。

7
振荡平等
我们的对象在两个整数点之间[l, r]以每时间单位一个单位的速度从lon 开始振荡t=0。您可以假设l < r。例如,如果一个对象在上振荡[3, 6],则我们有: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 等等,但是物体不断振荡,所以我们还有t=0.5 -> 3.5和t=3.7 -> 5.3。 由于两个物体之间振荡[l1, r1],[l2, r2],确定是否存在过一段时间t,使得这两个对象共享相同的位置。您可以采用l1, r1, l2, r2任何方便的格式,并输出任何真实/错误值。 真实的输入: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

1
同色算术级数
范德瓦尔登定理说 对于任何给定的正整数r和k,都有一些数字N,如果这些整数{1, 2, ..., N}是有色的,每一个都具有一种r 不同的颜色,则k在算术级数中至少存在所有相同颜色的整数。最少的N是Van der Waerden数W(r, k)。 您的目标是给W(r, k)定正整数输入r和来计算范德瓦尔登数k。最少的字节数获胜。 请注意,此功能增长非常快,并且计算耗时。甚至W(4, 4)是未知数。您可能会假设您的代码在资源(时间,内存,堆栈深度等)无限制的理想计算机上运行。理论上,即使对于未知答案的值,您的代码也必须给出正确的答案。 不允许使用计算此功能的内置程序。 例 对于r = 2长度的颜色和渐变k = 3,存在8避免这种渐变的长度序列,即3相同颜色的等距元素: B R R B B R R B 但是,没有这样的长度9序列W(2, 3) == 9。例如, R B B R B R R B R ^ ^ ^ 包含所示的长度3相同颜色的算术级数。 测试用例 您可能只能测试小案例。 +-----+-----+-----+-----+-----+-----+------+ | | …

3
对N-Bonacci序列进行逆向工程
编辑:我将在2016年2月15日星期一接受答案。愿字节永远对您有利! @DJMcGoathem 在他的“打印N-Bonacci序列”挑战中,描述了N-bonacci序列,其中之前的N个数字相加,而不是斐波纳契序列的传统2个(称为“ 双 nacci序列”)。然后,他要求输入两个输入X和N,然后输出第X个N -nacci数。 我提出相反的建议。 给定一个序列,输出它是N -nacci序列的子集。我之所以说“子集”,是因为: A)这些序列是无限的 B)如果给定序列的开始,则可以只计算前导1的数量 如果它可能属于多个N -nacci序列,请选择最低的序列。 如果它不属于任何N-nacci序列,则您的程序可能会执行其他操作,而不是打印可能会误输出的内容。这些行为包括(但不限于):无限循环,错误,崩溃,删除自身(*咳嗽* 保持警惕 *咳嗽*)或创建黑洞(只要该黑洞不会产生任何可能被误认为是有效输出)。 为了应对这一挑战,这些序列以1开头。这意味着任何N -nacci序列都以N开头。此外,N必须为正整数。所以没有-1 -nacci等 测试用例: 1,1,1 -> 1 49, 97 -> 7 55, 89, 144 -> 2 1 -> 1 6765 -> 2 12, 23, 45, 89 -> 12 100, 199 -> 100

5
二进制卷积
二进制卷积由数字描述M,并应用于数字N。对于的二进制表示形式中的每个位M,如果将该位设置为(1),则通过将与相应位中的相应位相邻的两个位进行XOR N(在必要时进行环绕)来给出输出中的相应位。如果未设置该位(0),则输出中的相应位由中的相应位给出N。 一个有效的示例(具有8位值): 让N = 150,M = 59。它们的二进制表示形式分别为10010110和00111011。 根据M的二进制表示形式,卷积0、1、3、4和5。 位0的结果由对位1和7进行XOR运算得出(因为我们进行了环绕),得出1。 位1的结果由位0和2的XOR运算得出0。 位2的结果由原始位2给出,即1。 第3位的结果由第2位和第4位的XOR运算得出0。 位4的结果由位3和5的XOR运算得出0。 第5位的结果由第4位和第6位的XOR运算得出1。 位6和7的结果由原始位6和7给出,得出0和1。 因此,输出为10100110(166)。 挑战 给定N和M,输出执行Mon上描述的二进制卷积的结果N。输入和输出可以采用任何方便,一致且明确的格式。N并且M将始终在(包括)范围内[0, 255](8位无符号整数),并且应将其二进制表示形式填充为8位以执行二进制卷积。 测试用例 150 59 -> 166 242 209 -> 178 1 17 -> 0 189 139 -> 181 215 104 -> 215 79 214 -> 25 190 207 -> 50 61 …
15 code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

14
递归级联[N]的累积和与M次迭代
取两个正整数N,M并[N]通过M迭代创建的串联累积和。输出最后一次迭代的结果。 串联累积和的定义: 以数字开头N并定义顺序X = [N] 追加到X的累积和X 重复步骤2 M次。 向量的累加和X = [x1, x2, x3, x4]为:[x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]。 N = 1和的示例M = 4: P =累积和函数。 M = 0: [1] M = 1: [1, 1] - X = [1, P(1)] = [[1], [1]] M = 2: [1, 1, 1, 2] - X …
14 code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

11
案例匹配查找替换
以三个输入,文本串T; 一串要替换的字符F;以及用替换它们的字符串R。对于每个T具有相同(不区分大小写)字符的子字符串F,请将其替换为中的字符R。但是,请保持与原始文本相同的大小写。 如果输入的字符R多于个F,则多余的字符应与输入的大小写相同R。如果其中包含数字或符号F,则其中的相应字符R应保持其大小写R。F不一定会出现在中T。 您可以假设所有文本都在可打印的ASCII范围内。 例子 "Text input", "text", "test" -> "Test input" "tHiS Is a PiEcE oF tExT", "is", "abcde" -> "tHaBcde Abcde a PiEcE oF tExT" "The birch canoe slid on the smooth planks", "o", " OH MY " -> "The birch can OH MY e slid OH MY …
14 code-golf  string  code-golf  string  ascii-art  alphabet  code-golf  number  sequence  counting  code-golf  sequence  counting  code-golf  quine  source-layout  code-golf  string  code-golf  decision-problem  game  code-golf  string  quine  source-layout  subsequence  code-golf  quine  code-golf  array-manipulation  integer  code-golf  ascii-art  code-golf  sequence  integer  code-golf  kolmogorov-complexity  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  integer  code-golf  string  number  integer  code-golf  string  ascii-art  code-challenge  test-battery  expression-building  source-layout  printable-ascii  code-bowling  code-golf  number  code-golf  number  string  binary  code-golf  matrix  conversion  code-golf  number  arithmetic 

12
生成Linus序列
定义 根据OEIS A006345的描述: 要查找a(n),请考虑a 1或a 2。对于每个a(n)=1,2序列,找到最长的重复后缀,即对于每个序列,找到s具有序列a(1),...,a(n)结尾的最长序列ss。使用导致后缀较短的数字。a(1) = 1。 解决的例子 a(1)=1。 如果是a(2)=1,我们将得到1 1从末尾最长的一倍子串是的序列1。如果a(2)=2不是,那么它将是空的子字符串。因此a(2)=2。 什么时候n=6,我们在1 2 1 1 2 1和之间选择1 2 1 1 2 2。在首选中,1 2 1从末尾开始连续翻倍。在第二选择中,它是2。因此,a(6)=2。 什么时候n=9,我们在1 2 1 1 2 2 1 2 1 和之间选择1 2 1 1 2 2 1 2 2。在第一种选择中,最长的双倍连续子字符串是2 1,而在第二种选择1 2 2中,最后连续地双倍连续。因此a(9)=1。 任务 给定n,退货a(n)。 眼镜 n …

30
从原动力中恢复原动力
定义:素数幂是自然数,可以以p n的形式表示,其中p是素数,n是自然数。 任务:给定素数p n > 1,返回素数p。 测试用例: input output 9 3 16 2 343 7 2687 2687 59049 3 计分:这是代码高尔夫球。以字节为单位的最短答案将获胜。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

3
从数组中删除条目以对其进行排序并最大程度地增加元素总数
这个挑战是从入学考试到封闭数字网络安全课程。无论如何,它与网络安全无关,只是为了测试学生的逻辑和编码技能。 任务 编写一个程序,该程序从数组中删除条目,以便以严格的降序对其余值进行排序,并且在所有其他可能的降序中将其总和最大化。 输入输出 输入将是整数值的数组严格地大于0和所有彼此不同。您可以自由选择是从文件,命令行还是标准输入中读取输入。 输出将是输入之一的降序子数组,其总和大于任何其他可能的降序子数组。 注意: [5, 4, 3, 2]是的子数组[5, 4, 1, 3, 2],即使4和3不相邻。只是因为1弹出了。 暴力解决方案 当然,最简单的解决方案是在给定数组的所有可能组合中进行迭代,并搜索具有最大和的排序后的数组,即在Python中: import itertools def best_sum_desc_subarray(ary): best_sum_so_far = 0 best_subarray_so_far = [] for k in range(1, len(ary)): for comb in itertools.combinations(ary, k): if sum(comb) > best_sum_so_far and all(comb[j] > comb[j+1] for j in range(len(comb)-1)): best_subarray_so_far …

11
解释松散范围
解释松散范围 ListSharp是一种解释型编程语言,具有许多功能,其中一个功能是基于1索引的范围创建器,其工作方式如下: 您可以将范围定义为(INT) TO (INT)或仅定义(INT)两个int可以从min到max int32值的范围 然后,您可以使用这些范围来提取数组的元素,而不必担心会超出其边界 因此: 1 TO 5 产生: {1,2,3,4,5} 3 产生: {3} 范围可以使用AND运算符相加 1 TO 5 AND 3 TO 6 产生: {1,2,3,4,5,3,4,5,6} 记住这也适用于负数 3 TO -3 产生: {3,2,1,0,-1,-2,-3} 挑战如下: 输入值 字符数组和先前定义的range子句作为字符串 输出量 范围中基于1索引位置的元素(不存在/负索引会转换为空字符) 如何取胜 作为代码高尔夫球挑战,您应该创建具有最少字节数的程序以获胜 有人指出不存在空字符,因此您应该忽略它们(我仅在此处显示它们是为了使它们更易于理解,但却使人感到困惑) 测试用例: input array is: {'H','e','l','l','o',' ','W','o','r','l','d'} range clause: "1 TO …
13 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 

13
斐波那契产品
您可以将大于0的数字分解为正Fibonacci数字的唯一和。在这个问题中,我们通过重复减去最大可能的正斐波那契数来做到这一点。例如: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 现在,我将斐波那契乘积称为与上面相同的列表,但加法运算被乘积代替。例如,f(100) = 89 * 8 * 3 = 2136。 编写一个给定正整数n的程序或函数,该函数将返回该数字的斐波那契乘积。 测试用例: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

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.