Questions tagged «array-manipulation»

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

28
矩阵是中心对称的吗?代码也是吗?
定义 甲中心对称矩阵是正方形矩阵是对称的围绕其中心。更严格地说,如果对于任何满足以下关系,则大小为的矩阵是中心对称的: AAAn×nn×nn \times ni,j∈([1,n]∩Z)i,j∈([1,n]∩Z)i,\: j \in ([1, n] \cap \mathbb{Z})Ai,j=An+1−i,n+1−jAi,j=An+1−i,n+1−jA_{i,\:j}=A_{n+1-i,\:n+1-j} 此类矩阵的示例 这是这样的矩阵的对称性的图示(从上述Wikipedia文章中借来): 偶数边长( ×)的中心对称矩阵:4×44×44\times 4 ⎛⎝⎜⎜⎜1584267337624851⎞⎠⎟⎟⎟(1234567887654321)\left(\begin{matrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 8 & 7 & 6 & 5 \\ 4 & 3 & 2 & 1\end{matrix}\right) 还有一个奇数边长():3×33×33\times 3 …

30
和的平方差
求和与平方和之差。 这是数学表达式: (∑ n )2− ∑ n2(∑n)2−∑n2\left(\sum n\right)^2-\sum n^2 您的程序/方法应采用两个输入,这是范围的上限和下限,包括上限和下限。限制将是大于0的整数。 您的程序/方法应返回答案。 您可以使用任何基准,但是请在答案中说明使用的基准。 测试案例(基础10) 5,9 970 91,123 12087152 1,10 2640 这是通常的代码高尔夫球,因此答案越短越好。

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 

14
挑战数组2:分离嵌套数组
注意:这是一系列阵列操作挑战中的第二个问题。对于上一个挑战,请单击此处。 分隔嵌套列表 要在嵌套列表中分离值,请对其进行展平,然后包装每个值,使其与以前的嵌套深度相同。 也就是说,此列表: [1, [2, 3], [4, 4, [5, 2], 1]] 会成为: [1, [2], [3], [4], [4], [[5]], [[2]], [1]] 挑战 您的任务是编写一个程序,该程序将使用任何嵌套的正整数列表(在您的语言范围内)并执行此分离操作。 您可以提交将列表作为参数的函数,或者执行I / O的完整程序。 因为这是代码高尔夫球,所以最短的提交(以字节为单位)获胜!* *禁止使用标准的高尔夫球漏洞。你知道该怎么做。 测试用例 输入列表将仅包含您语言的标准整数大小的整数。为避免语言的限制阻止它们竞争,值的嵌套深度不得超过10。 您可以假定输入将没有空的子列表:例如- [[5, []]]将不给出。但是,主列表可能为空。 [] -> [] [[1, 2]] -> [[1], [2]] [3, [4, 5]] -> [3, [4], [5]] [3, [3, …

14
总和为15
编写一个程序或函数,该程序或函数将非负整数数组作为输入,并按顺序输出带有输入数组元素的一组向量/数组,并进行拆分,以使每个向量的总和为15。 N个元素不会“命中15个”,那么必须使通过15个元素的数字被截断,其余元素将成为下一个向量的第一个元素。直到您到达输入数组的末尾为止。如果最终向量的总和小于15,则必须在末尾添加一个数字以使总和增加。 通过查看示例,我认为规则更容易理解: Input: 3 7 5 10 Output: 3 7 5 <- Sum is 15 10 5 <- 5 is added to make the sum 15 Input: 2 4 5 9 2 3 5 0 2 4 5 0 3 Output: 2 4 5 4 <- Sum 15. 9 …

22
FIFO缓存未命中数
这个挑战真的很简单(并且是更困难挑战的先兆!)。 给定一个资源访问数组(用非负整数简单表示)和一个参数n,返回假定我们的缓存具有容量n并在充满时使用先进先出(FIFO)弹出方案的缓存未命中数。 例: 4, [0, 1, 2, 3, 0, 1, 2, 3, 4, 0, 0, 1, 2, 3] 0 = not in cache (miss), insert, cache is now [0] 1 = not in cache (miss), insert, cache is now [0, 1] 2 = not in cache (miss), insert, cache is …

30
牛肝菌
相关但非常不同。 一个牛耕式转行书写法就是写作的所有其他行翻转或反转,并反转字母文本。 在此挑战中,我们将每隔一行反转一次,而使实际使用的字符保持不变。您可以选择要反转的行,只要它们彼此间隔即可。 只要您支持零行或更多行的可打印ASCII行(每行包含零个或多个字符),就可以采用任何合适的格式的文本。 例子: ["Here are some lines","of text for you","to make a","boustrophedon"]: ["Here are some lines","uoy rof txet fo","to make a","nodehportsuob"] or ["senil emos era ereH","of text for you","a ekam ot","boustrophedon"] ["My boustrophedon"]: ["My boustrophedon"] or ["nodehportsuob yM"] []: [] ["Some text","","More text","","","Last bit of text"]: ["Some text","","More …

16
库存机
库存机 您可以访问数据集,tomorrowStocks其中包含您在纳斯达克上喜欢的业务的股票价格。该数据集是一个按打开后分钟数索引的容器。每个指数都包含当时的股票价格。 // Assume the stock market opens at 9:30AM EDT // tomorrowStocks[] contains the prices of your target stock. // If the stock is $22 @ 10:30AM EDT tomorrowStocks[60] == 22 输出量 你的任务是确定的最好的结果1 purchase和1 sale的1 stock从给定的数据集。 陷阱 您必须买卖1只股票。 你可以不买,并在同一时间段销售。 您必须先买才卖。 测试数据 [1,2,3,4,5] # 4 [1,99,2,105] # 104 [99,1,99,100] # …

30
镂空阵列
任务 这个挑战非常简单。您的输入是一个矩形的二维整数数组,大小至少为1×1。可以采用任何合理的格式。您的输出应为输入数组,但所有不在第一行或最后一行或列上的条目均设置为0。它必须与输入格式相同。 例如,如果输入数组是 67 4 -8 5 13 9 13 42 4 -7 1 1 3 -9 29 16 99 8 77 0 那么正确的输出是 67 4 -8 5 13 9 0 0 0 -7 1 0 0 0 29 16 99 8 77 0 规则和计分 您可以编写完整的程序或函数,并且允许函数在适当位置修改输入而不是返回输入。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 它们被格式化为嵌套列表,以使复制粘贴更加容易。 [[3]] -> …

13
威尔·罗杰斯现象
所谓的威尔·罗杰斯(Will Rogers)现象描述了一种通过在两个元素之间移动一个元素时提高两个(多)集合中的平均值来调整统计量的方法。举一个简单的例子,考虑两组 A = {1, 2, 3} B = {4, 5, 6} 它们的算术平均值分别为 2和5。如果我们移动4到A: A = {1, 2, 3, 4} B = {5, 6} 现在,平均值分别为2.5和5.5,因此两个平均值都通过简单的重组而提高了。 再举一个例子,考虑 A = {3, 4, 5, 6} --> A = {3, 5, 6} B = {2, 3, 4, 5} --> B = {2, 3, 4, …

30
每日随机高尔夫#1:随机排列
关于系列 我将围绕随机性主题运行一系列代码高尔夫球挑战。这基本上是一个9洞 高尔夫球场,但涉及多个问题。您可以单独参加任何挑战,就像是正常问题一样。 但是,我将在所有挑战中保持领先。该系列将运行9个挑战(目前),每隔几天发布一次。参加所有9个挑战的每个用户都有资格赢得整个系列赛。他们的总体分数是每个挑战中最短提交的总和(因此,如果您回答一次挑战两次,则只有得分更高的一个才计入分数)。如果有任何人在28天的时间里保持排行榜榜首,我将奖励他们500代表。 尽管我在本系列中有很多想法,但未来的挑战还没有定下来。如果您有任何建议,请在相关的沙箱帖子上让我知道。 漏洞1:随机排列数组 第一项任务非常简单:给定一个非空的整数数组,将其随机洗牌。但是有一些规则: 必须以相同的概率返回所有可能的排列(因此,混洗应具有均匀的分布)。您可以通过在Will It Shuffle上的JavaScript中实现算法来检查算法是否统一/无偏,这将生成偏差矩阵-结果看起来应与内置的Fisher-Yates或sort(随机顺序)一样均匀。 您不得使用任何内置方法或第三方方法来随机排列数组或生成随机排列(或枚举所有排列)。特别是,您可能使用的唯一内置随机函数是一次获取一个随机数。您可以假定任何内置随机数方法都在O(1)中运行并且在请求的间隔内完全统一(从数学意义上讲,您可以在此处忽略浮点表示的详细信息)。如果您的语言允许您一次获取m个随机数的列表,则可以使用此功能,前提是m个数彼此独立,并将其计为O(m)。 您的实现不得超过O(N)的时间复杂度,其中N是要改组的数组的大小。例如,您不能“按随机数排序”。 您可以在适当位置随机排列数组,也可以创建一个新数组(在这种情况下,可以根据需要修改旧数组)。 您可以编写完整的程序或函数,并通过STDIN,命令行参数,函数参数或提示接受输入,并通过返回值或通过打印到STDOUT(或最接近的替代方法)来产生输出。如果编写的函数可以在适当的位置随机排列数组,那么您当然不需要返回它(前提是您的语言允许您在函数返回后访问修改后的数组)。 输入和输出可以是任何方便的列表或字符串的格式,但必须支持任意的整数范围-2 31 ≤X <2 31。原则上,您的代码应适用于长度最大为2 31的数组,尽管这不一定必须适合您的内存或在合理的时间内完成。(我只是不想看到硬编码循环或其他内容的任意大小限制。) 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。 排行榜 以下代码片段将在该系列的所有挑战中产生一个排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头每个答案: # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes (目前未显示该语言,但是该代码段确实需要并对其进行解析,并且将来我可能会添加一个语言排行榜。) 显示代码段 /* Configuration */ var QUESTION_IDs = [45302, 45447, 46991, 49394, 51222, 66319, …

11
我的数组中有回声…我的数组中有回声…我的数组
救命!我的某些数组中似乎有一个令人讨厌的回声,我想摆脱它。发生这种情况时,原始数组会在中间的某个位置重复自身,从而使这些值彼此相加。 例如,数组[ 422, 375, 527, 375, 859, 451, 754, 451 ]包含自身的回声,如下所示: [ 422, 375, 527, 375, 859, 451, 754, 451 ] <-- array with echo (input) [ 422, 375, 105, 0, 754, 451 ] <-- original array (output) [ 422, 375, 105, 0, 754, 451 ] <-- echo of original …

30
P Pr Pref Pref Prefi Prefixe Prefixes
给定一些有限列表,以其长度的升序返回所有前缀的列表,包括一个空列表。 (基本实现Haskell函数inits。) 细节 输入列表包含数字(如果方便的话,还可以输入其他类型)。 输出必须是一个列表列表。 提交可以但不必一定是函数,可以使用任何默认的I / O。 有一个CW答案为所有平凡的解决方案。 例 [] -> [[]] [42] -> [[],[42]] [1,2,3,4] -> [[], [1], [1,2], [1,2,3], [1,2,3,4]] [4,3,2,1] -> [[], [4], [4,3], [4,3,2], [4,3,2,1]]

22
引爆一根弦
给定任何字符串,以三角形的形式打印它,其中文本沿每个对角线上下移动。例如,输入的"Hello World"应输出: d l r d o l W r d o l o W r d l o l l o W r d e l o l H l o W r d e l o l l o W r d l o l o W r …

30
反向阵列求和
您的程序应将数组作为输入。 数组: 永远是一维的 只包含整数 可以为空 程序应反转数组,然后将元素加到原始数组中,例如: 输入: [1, 2, 3] 原版的: [1, 2, 3] 反转: [3, 2, 1] [1, 2, 3] + + + [3, 2, 1] [1+3, 2+2, 3+1] 输出: [4, 4, 4] 测试用例: #In #Out [8, 92], [100, 100] [1, 2, 3], [4, 4, 4] [5, 24, 85, …

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.