Questions tagged «array-manipulation»

通过使用和操纵数组来解决特定问题的竞赛。

19
旋转列
给定一个整数k和一个文本块,或者一个内部数组可能具有不等长的2d数组(类似于一个文本块),则将第k列中的每个字符或元素向上或向下旋转到下一个位置存在。 例 旋转以下文本的第20列(从1开始): A line with more than k characters. A longer line with more than k character. A short line. Rotate here: ------v-- This is long enough. This is not enough. Wrapping around to the first line. 输出: A line with more thtn k characters. A longer line with …

30
归一化向量
为了正常化的载体是将它扩展到1的长度(单位矢量),同时保持方向一致。 例如,如果我们想正常化的矢量3个组件,ü,我们会先找到它的长度: | u | = sqrt(u x 2 + u y 2 + u z 2) ...然后按此值缩放每个分量,以获得长度为1的向量。 û= u÷| u | 挑战 您的任务是编写一个程序或函数,给定一个带符号的整数的非空列表,将其解释为向量并将其标准化。例如,这应该适用于任意数量的维度(测试用例四舍五入到小数点后两位): [20] -> [1] [-5] -> [-1] [-3, 0] -> [-1, 0] [5.5, 6, -3.5] -> [0.62, 0.68, -0.40] [3, 4, -5, -6] -> [0.32, 0.43, -0.54, …

29
最常见的倍数
不要与最小公倍数相混淆。 给定具有多个元素的正整数列表,则返回数组中两个元素的最常见乘积。 例如,列表的MCM [2,3,4,5,6]为12,产品表为: 2 3 4 5 6 --------------- 2 | # 6 8 10 12 3 | # # 12 15 18 4 | # # # 20 24 5 | # # # # 30 6 | # # # # # 感谢DJMcMayhem的桌子 由于12出现的次数最多(两倍2*6和3*4)。请注意,我们不包括的元素,本身的产品,所以2*2还是4*4不不会出现在这个列表中。但是,相同的元素仍将相乘,因此该表[2,3,3]如下所示: 2 3 3 …

6
救命!我的计算器出现故障!
介绍 我的计算器很奇怪。有时,当我输入时8会显示2。有时,当我输入a 6时会显示+。一些按钮混在一起! 谁能帮我确定哪个? 挑战: 输入:错误方程式列表,结果正确。 输出:交换的两个按钮。 例如: 输入可以是: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 其预期的输出是:2和*。 为什么?因为如果我们交换2和*,则所有等式都是正确的: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 挑战规则: 输入可以采用任何合理的格式。可以是一个以空格分隔的字符串;字符串列表或-array; 一个包含方程式的列表和另一个包含正确结果的列表。你的来电。请说明您使用的输入格式! …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

23
基本排序,带有令人讨厌的错误
您的输入是一个包含5-255个正整数的列表/序列/向量/数组,不一定是唯一的。您可以假设最适合的输入格式是什么,并且每个整数(以及整数的数量)都是从5-255范围内随机选择的。 目标是以相同(或等效)格式输出相同列表,但按升序(不降序)排序。学习语言的常见早期练习。提交的内容包括: 正确起作用并达到目标的答案;和 第二个答案包含一个令人讨厌的错误。在1%到10%的时间之间,输出需要是一个格式正确且包含正确元素的列表,但是顺序错误(除了正确排序以外的任何顺序)。其余时间,程序必须正确运行并达到目标。 这两个答案必须具有Levenshtein距离 1;也就是说,我们可以通过删除一个字节,添加一个字节或更改一个字节来获得另一个。 在代码高尔夫球中照常计分(基于两个答案中的较短者),并禁止通常的漏洞。 如果烦人的错误是与输入无关的,则10%的奖金(降低得分),即再次使用相同的输入不会重现该错误(除了1%到10%的时间)。

30
寻找独特的双胞胎
您将获得两个非负整数A和B的数组/列表/向量。您的任务是输出出现在A和B中的最高整数N,并且在A和B中都唯一。 您可以假设至少有一个这样的数字。 允许使用任何合理的输入和输出方法/格式。 这些漏洞是禁止的。 这是代码源代码,因此每种编程语言中最短的代码都会胜出! 测试用例: A,B->输出 [6],[1、6]-> 6 [1、2、3、4],[4、5、6、7]-> 4 [0,73,38,29],[38,29,73,0]-> 73 [1、3、4、6、6、9、9],[8、7、6、3、4、3]-> 4 [2,2,2,6,3,5,8,8],[8,7,5,8]-> 5 [12,19,18,289,19,17],[12,19,18,17,17,289]-> 289 [17,29,39,29,29,39,18],[19,19,18,20,17,18]-> 17 [17,29,39,29,29,39,18,18],[19,19,18,20,17,18]-> 17

30
三角数!
我们习惯于“平方” n来表示计算n 2。我们也习惯于将“立方” n表示为n 3。话虽这么说,为什么我们也不能将数字三角化? 如何三角化一个数字? 首先,让我们选择一个数字53716。 将其放置在平行四边形上,其边长等于该数字的位数,并且其两侧斜对角放置,如下所示。 53716 53716 53716 53716 53716 现在,我们要Δ,对吗?为此,裁剪不适合直角三角形的边: 5 53 537 5371 53716 取每一行的总和,对于本示例,得出[5, 8, 15, 16, 22]: 5-> 5 53-> 8 537-> 15 5371-> 16 53716-> 22 对列表求和[5, 8, 15, 16, 22],得到66。这是这个数字的三角形! 规格与规则 输入将是一个非负整数n(n≥0,n∈Z)。 您可以采用任何允许的方式输入并提供输出。 输入可以格式化为整数,整数的字符串表示形式或数字列表。 不允许出现默认漏洞。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 更多测试案例 输入->输出 0-> 0 1-> …

27
位反转排列
您的目标是创建一个函数或程序来反转给定整数n的整数范围内的位。换句话说,您想要找到2 n项范围(零索引)的位反转排列。这也是OEIS序列A030109。此过程通常用于计算快速傅立叶变换,例如用于FFT的就地Cooley-Tukey算法。计算长度为2的幂的序列的FFT 也是一个挑战。 此过程要求您迭代[0,2 n -1] 范围,并将每个值转换为二进制值并反转该值中的位。您会将每个值都视为以2为底的n位数字,这意味着反转只会在最后n位之间发生。 例如,如果n = 3,则整数范围为[0, 1, 2, 3, 4, 5, 6, 7]。这些是 i Regular Bit-Reversed j 0 000 000 0 1 001 100 4 2 010 010 2 3 011 110 6 4 100 001 1 5 101 101 5 6 110 011 3 7 …

16
伪造简短事实
在布尔值列表中找到最长的true。返回相同的列表,所有其他true均被伪造。 输入输出 一个列表; 任何常规格式(例如,分隔列表为字符串)。 细节 正确和错误可以是您的语言通常用于这些值的任何值,也可以是整数1和0。如果您使用单个字符,则列表可以是串联(例如10001)。 如果有最长的并列,请保持所有并列运行正确,并伪造所有较短的运行。 例子 input ↦ output 1,0,1,0,1 ↦ 1,0,1,0,1 1,1,0,1,1,0,1 ↦ 1,1,0,1,1,0,0 1,1,0,1,1,1,0,1,1 ↦ 0,0,0,1,1,1,0,0,0 1,1,1 ↦ 1,1,1 0,0,1 ↦ 0,0,1 0,0 ↦ 0,0 1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0 ↦ 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0 (直接来自https://stackoverflow.com/q/37447114)

25
多维数组的索引
较低级的语言(例如C和C ++)实际上没有多维数组的概念。(向量和动态数组除外)使用以下方法创建多维数组时 int foo[5][10]; 这实际上只是语法糖。C真正要做的是创建一个由5 * 10个元素组成的连续数组。这个 foo[4][2] 也是语法糖。这实际上是指 4 * 10 + 2 或者,第42个元素。一般地,元件的索引[a][b]在阵列foo[x][y]是在 a * y + b 相同的概念适用于3d阵列。如果我们有foo[x][y][z]并且访问元素,那么[a][b][c]我们实际上是在访问元素: a * y * z + b * z + c 这个概念适用于n维数组。如果我们有一个具有维度的数组D1, D2, D3 ... Dn并且我们访问元素,S1, S2, S3 ... Sn则公式为 (S1 * D2 * D3 ... * Dn) + …

15
说明二项式的平方
给定(通过任何方式)两个不同的自然数(任何合理大小),输出(通过任何方式)其总和的平方,如下例所示: 给定4和3,输出: 12 12 12 12 9 9 9 12 12 12 12 9 9 9 12 12 12 12 9 9 9 16 16 16 16 12 12 12 16 16 16 16 12 12 12 16 16 16 16 12 12 12 16 16 16 16 12 12 …

12
蠕虫的生命
条款 一个蠕虫是负整数的任何名单,以及其最右边(即最后一个)元素称为头。如果头部不为0,则蠕虫的活动段由最长的连续元素块组成,该元素块包括头部,并且其所有元素至少与头部一样大。在简约有效段是主动段与由1。例如递减的头,所述蜗杆3 1 2 3 2具有活性片段2 3 2,以及减少的活性段2 3 1。 进化规则 蠕虫逐步演化如下: 在步骤t(= 1,2,3,...)中, 如果头为0:删除头, 否则:用缩减的活动段的t + 1级联副本替换活动段。 事实:任何蠕虫最终都会演变成空列表,而这样做的步骤就是蠕虫的生存期。 (有关详细信息,请参阅LD Beklemishev撰写的《蠕虫原理》。“列表”是指有限序列,“头”是指最后一个元素的用法,摘自本文—请勿混淆)并将列表作为抽象数据类型常用,其中head通常表示第一个元素。) 示例(括号中的活动部分) 蠕虫:0,1 step worm 0(1) 1 0 0 0 2 0 0 3 0 4 <- lifetime = 4 蠕虫:1,0 step worm 1 0 1 (1) 2 0 0 …

30
寻找遗失的信件
指导方针 任务 编写一个方法,该方法将一个连续(递增)的字母数组作为输入,并返回该数组(某些语言的列表)中缺少的字母。 规则 这是代码高尔夫球,所以最短答案以字节为单位! 您将始终获得有效的数组 总是会丢失一个字母 数组的长度将始终至少为2。 数组将始终仅在一种情况下(大写或小写)包含字母 您必须输出与输入相同的大小写(大写或小写) 该数组一次总是只发送一个字母(跳过丢失的字母) 数组长度在2到25之间 数组的第一个或最后一个元素将永远不会丢失 例子 ['a','b','c','d','f'] -> 'e' ['O','Q','R','S'] -> 'P' ['x','z'] -> 'y' ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z'] -> 'v'

30
修剪数组!
给定一个整数数组和两个数字作为输入,请删除由数字指定的一定数量的第一个和最后一个元素。输入可以按照您想要的任何顺序。 您应该删除前x个元素,其中x是第一个数字输入,还应该删除最后y个元素,其中y是第二个数字输入。 保证结果数组的长度至少为2。 例子: [1 2 3 4 5 6] 2 1 -> [3 4 5] [6 2 4 3 5 1 3] 5 0 -> [1 3] [1 2] 0 0 -> [1 2]

15
它是OVSF代码吗?
给定1s和-1s 的列表,请确定它是否是有效的OVSF代码(通过输出真值或假值)。 OVSF代码定义如下: [1] 是OVSF代码。 如果X是OVSF代码,则X ++ X和X ++ -X均为OVSF代码。 这++是列表串联,并-取反列表中的每个元素。 没有其他列表是有效的OVSF代码。 您可以假设输入列表仅包含-1和1,但是您必须正确处理空列表以及长度不是2的幂的列表。 最短的代码(以字节为单位)获胜。 测试用例 [] -> False [1] -> True [-1] -> False [1, 1] -> True [1, -1] -> True [1, 1, 1, 1] -> True [1, 1, 1, 1, 1] -> False [1, -1, -1, 1, -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.