Questions tagged «array-manipulation»

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

18
将列表缩小为最终数字
输入项 数字或数字字符串的列表(数组),如果使用起来更容易。您可以假设列表中始终至少有两个元素,并且每个元素都是自然数(大于零的整数)。 产出 单个数字或数字字符串。 问题 这个想法是通过删除列表的当前阶段中最大数字的最后一位来减少数字的列表,最后以一个数字结尾(即使有多个实例,也应只返回一个数字) 例 [123,343,121,76,465,786] -- The last digit in 786 is dropped, so it becomes 78 [123,343,121,76,465,78] -- New largest number is 465, so the 5 is dropped, making it 46 [123,343,121,76,46,78] -- Repeat until left with one number [123,34,121,76,46,78] [12,34,121,76,46,78] [12,34,12,76,46,78] [12,34,12,76,46,7] [12,34,12,7,46,7] [12,34,12,7,4,7] [12,3,12,7,4,7] …

14
评估多维坐标系的索引
提供了N维坐标的集合。下面是一个示例: {2,3,4} 可以将其视为具有2x,3y和4z的3维数组。可以有任意多个尺寸。在该示例中,总共有24个节点。可以使用{x,y,z}为每个节点建立索引。要访问第5个节点,根据下表提供的索引将为{0,1,0}。 ## | x y z 0 1 2 ----------- 0 | 0 0 0 1 | 0 0 1 2 | 0 0 2 3 | 0 0 3 4 | 0 1 0 5 | 0 1 1 6 | 0 1 2 7 | 0 …

2
一百个最常用的单词
之所以写这个问题,是因为“ Thing Explainer”很有趣,并且给了我一个主意。 编写“使计算机做事的东西”,以读取/获取一组字母,数字和类似的东西"#%|?,True / 1如果所有单词都属于该集合,则返回。 如果所有单词都不属于该集合,请返回不属于该集合的单词。 在任何情况下都可以认为本网站是正确的。编写规则是为了遵守该站点上的规范。 例子: Truthy: 如果将第一条水平线上方的整个文本粘贴为输入,则代码应返回真实值。 以下几行应返回真实值(输入之间用分隔###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 虚假的: 在以下示例中,输入和输出用分隔***。不同的测试用例用分隔###。 This code …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

15
随机映射
我们将地图定义为一组键值对。对于此挑战,您需要获取每个值并将其分配给随机选择的键。 您必须随机调整值,然后输出结果图。这意味着每次我们运行您的程序时,我们都有机会获得不同的输出 值的每个可能排列都必须具有非零的出现机会。 所有原始键和原始值必须出现在结果数组中。重复的值在结果数组中必须出现相同的次数。 例如,如果您的地图是: [0:10, 1:10, 5:5] 以下所有条件都必须有出现的机会: [0:10, 1:10, 5:5] (original map) [0:10, 1:5, 5:10] [0:10, 1:10, 5:5] (technically the same map, but I swapped the two tens) [0:10, 1:5, 5:10] [0:5, 1:10, 5:10] [0:5, 1:10, 5:10] 可接受的输入/输出: 您语言的母语地图 您可以输入键值对数组。您可能无法输入2个数组,一个数组带有键,另一个数组带有值。 您可以使用上述任何形式的字符串表示形式 如果输入数组或地图,则可以修改原始对象,而无需返回 输入类型必须与输出类型匹配 如果输入数组,则必须保持键的顺序。 您可以假设键是唯一的,但是不能假设值是唯一的。 这是一个 代码高尔夫球,因此回答越短越好

5
填充2D网格
挑战说明 让我们将其称为二维矩形数组(意味着其每个子数组具有相同的长度),即grid。网格的每个单元都是空白或边框。在字符网格中,空白由单个空格表示;其他任何字符均视为边框。样本网格(为了便于阅读而添加了+,,|和-,它们不属于网格): +----+ | | | | | | | | | | +----+ an empty 4x5 grid +------+ | | | # | | # | +------+ a 6x3 grid with 2 borders +----------+ | | | | | ##### | | # # | | ## # <------ …

29
九模式
介绍 前几天,我在看电视时偶然发现了这种(无用的)模式。我将其命名为“ 9模式”,因为要使用的第一个数字是9。其要旨是,输入数字(假设x),然后返回: X x +(x / 3)[我们叫这个y ] y的三分之二[我们称为z ] z + 1 所以,如果我把这个模式里面的数字9为X,这是会出来: 9(9) 12(9 + 9/3)[3分上的9是3,而9 + 3是12] 8(三分之二的12倍)[12的三分之一是4,而4 * 2是8] 9(8 +1是9) 挑战 给我写一个函数(使用任何编程语言),该函数接受一个数字,并使用该模式输出一个整数数组。 像这样的伪代码: function ninePattern(int myInt) returns IntegerArray { int iterationA = myInt + (myInt / 3); int iterationB = iterationA * (2 / …

1
通过交换相邻数字对填充数字的加扰二维数组进行排序
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 大小为n×n的二维数组由n * n个数字填充,从数字1开始。这些数字将按行升序排序;行的第一个数字必须大于上一行的最后一个数字(所有(1)中最小的数字将在[0,0]中)。这类似于15个难题。 例如,这是大小为n = 3的排序数组。 1 2 3 4 5 6 7 8 9 输入项 输入是加扰的数组。它的大小最大为n =10。n= 3的示例: 4 2 3 1 8 5 7 9 6 输出量 输出排序数组所需的交换列表。甲交换被定义如下:两个相邻的数字交换位置,水平或垂直; 不允许对角交换。 上面示例的示例输出: 交换4和1 交换8和5 交换8和6 交换9和8 所需的交换次数越少越好。计算时间必须可行。 这是另一个示例输入,其中n = 10: 41 88 35 34 76 44 66 …

4
精确计算概率
此任务是关于编写代码以准确计算概率。输出应该是精确的概率,以其最大简化形式的分数表示。那是它永远不应该输出4/8,而应该1/2。 对于某个正整数n,请考虑一个长度为1s和-1s的均匀随机字符串,n并将其称为A。现在将A其串联为第一个值。就是说A[1] = A[n+1]从1 A开始的索引 现在具有length n+1。现在还考虑长度的第二随机串n,其第一n值是-1,0或1的概率是1 / 4,1 / 2,1/4每并调用它B. 例如,考虑n=3。对于可能的值A,并B可能会A = [-1,1,1,-1]和B=[0,1,-1]。在这种情况下,两个内积是0和2。 现在考虑的内积A[1,...,n]和B和的内积A[2,...,n+1]和B。 您的代码必须输出两个内积均为零的概率。 对于n=1这种可能性显然是1/2。 我不介意n代码中的指定方式,但是如何更改它应该非常简单明了。 语言和图书馆 您可以使用任何喜欢的语言和库。我想运行您的代码,因此请尽可能提供有关如何在Linux中运行/编译代码的完整说明。

5
几乎词典列表比较
输入项 两个列表A和B非负整数。 输出量 任一1,0或-1根据是否A大于,等于或小于B相对于所述扭曲词典式排序如下文所定义。如果需要,可以将1,0和替换-1为任何其他三个常数值。 扭曲的字典顺序与普通的字典顺序类似,在于您逐个元素比较列表,并在第一个不同的索引处确定列表的顺序。但是,在扭曲版本中,对于每个索引,我们对非负整数使用不同的排序。即,在每个索引处i(索引从处开始1),第一个i非负整数(从0到i-1)的顺序被颠倒,并且它们移至所有其他数字的上方。此外,表示一个列表比另一个列表短的“缺失元素”直接移到下面i-1。视觉上,索引的顺序i是 i < i+1 < i+2 < i+3 < ... < [missing element] < i-1 < i-2 < i-3 < ... < 2 < 1 < 0 请注意,第一个...表示无限多个数字。这意味着以下列表相对于扭曲的字典顺序而言按升序排列: [3,2,3,4] [3,2,3,5] [3,2,3,10] [3,2,3,1341] [3,2,3] [3,2,3,3] [3,2,3,2] [3,2,3,1] [3,2,3,0] 规则 您可以提供完整的程序或功能。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 Output 1: [0] [] [] [1] …

9
通过一次迭代对负数,零和正整数数组排序
取一个包含负数,正数和零的整数数组。对其进行一次迭代分组并放置在适当的位置,以使所有负数都在前,然后是所有零,然后是所有正数。 例: Input: 5, 3, 0, -6, 2, 0, 5 Output: -6, 0, 0, 3, 2, 5, 5 请注意,数字不需要完全排序:只需按符号排序即可。 因此,最终数组将如下所示: -, -, ..., -, -, 0, 0, ..., 0, 0, +, +, ..., +, + 规则 您只能使用输入数组和恒定数量的附加内存(即,您不能再创建任何数组) 您只能使用一个循环,该循环只能执行与数组长度相同的次数。您不得使用隐藏任何循环的内置函数。这包括内置的排序功能。 结果应为我描述的格式 获胜者将是提交最短代码(以字节为单位)的代码,该代码会将初始数组更改为正确的格式(如上所述)。
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.