Questions tagged «matrix»

矩阵是排列在具有行和列的矩形中的数字列表。在编程中,它也称为2D数组。如果您面临的挑战是处理矩阵,请使用此标签。

24
ogl-edocf挑战
输入项 一个非空的字符串,由范围内的ASCII字符组成。[ 32..126 ][32..126][32..126] 输出量 通过对输入字符串进行连续旋转来获得输出。 对于[a-zA-Z]输入字符串中的每个字母(),从左到右: 如果字母是大写字母,请将其前面的所有字符向左旋转一个位置 如果字母是小写字母,请将其前面的所有字符向右旋转一个位置 例 输入:“ Cb-Ad” 第一个字母是“ C ”。我们应该向左旋转,但是这个“ C ” 之前没有字符。因此,没有任何旋转。 下一个字母是“ b ”。我们向右旋转“ C ”。因为它是单个字符,所以它保持不变。 字符“ - ”不会触发任何旋转,因为它不是字母。 下一个字母是“ A ”。我们轮流“ CB- ”到左边,这给“ 公元前广告” 第四个也是最后一个字母是“ d ”。我们向右旋转“ b-CA ”,即为“ Ab-C d” 因此,预期输出为“ Ab-Cd ”。 规则 您可以将输入作为字符串或字符数组进行输入-根据您的语言,输入内容可能相同也可能不同。 您也可以输出字符数组而不是字符串。 这是ogl-edocf 代码高尔夫 测试用例 "cbad" -> …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

17
生成沃尔什矩阵
一个Walsh矩阵是一种特殊的具有方阵在量子计算的应用程序(也可能是其他地方,但我只关心量子计算)。 沃尔什矩阵的性质 尺寸是2的相同的功率。因此,我们可以用2的指数是指这些矩阵这里,美其名曰W(0),W(1),W(2)... W(0)定义为[[1]]。 对于n>0, W(n)看起来像: [[W(n-1) W(n-1)] [W(n-1) -W(n-1)]] 因此W(1): [[1 1] [1 -1]] 并且W(2)是: [[1 1 1 1] [1 -1 1 -1] [1 1 -1 -1] [1 -1 -1 1]] 模式还在继续... 你的任务 编写一个程序或函数,将整数作为输入n并W(n)以任何方便的格式打印/返回。.svg只要是正确的,它就可以是一个数组数组,一个布尔值的扁平数组,一个图像,您可以为其命名。 禁止出现标准漏洞。 几件事: 对于W(0),1甚至不需要包装一次。它可以仅仅是一个整数。 您可以对1个索引的结果进行查询- W(1)然后为[[1]]。 测试用例 0 -> [[1]] 1 -> [[1 1] [1 -1]] …
22 code-golf  math  matrix 

13
哈夫尼亚人Codegolf
挑战是为矩阵的Hafnian写codegolf 。对称矩阵的2nHafnian 定义为:2nA 下面就2N代表了一组整数的所有排列的,从1到2n,那就是[1, 2n]。 Wikipedia链接讨论了邻接矩阵,但是您的代码应适用于任何实值对称输入矩阵。 对于那些对Hafnian应用程序感兴趣的人,mathoverflow链接讨论了更多内容。 您的代码可以随意输入,并以任何合理的格式提供输出,但是请在答案中包括一个完整的示例,其中包括有关如何向代码提供输入的明确说明。 输入矩阵始终为正方形,最大为16 x16。无需处理空白矩阵或奇数维矩阵。 参考实施 这是Xcoder先生提供的一些示例python代码。 from itertools import permutations from math import factorial def hafnian(matrix): my_sum = 0 n = len(matrix) // 2 for sigma in permutations(range(n*2)): prod = 1 for j in range(n): prod *= matrix[sigma[2*j]][sigma[2*j+1]] my_sum += prod return my_sum / …

6
减去折矩阵
挑战: 给定一个NxN矩阵,其中和八个不同的“折叠选项”之一,输出带有减去值的2D数组/列表。ñ≥ 2N≥2N\geq2 八个折叠选项是:从左到右;从左到右。右到左; 从上到下; 从下到上 从左上到右下; 从右上到左下; 从左下到右上;从右下到左上。 分步示例: 输入矩阵: [[ 1, 3, 5, 7], [ 0, 8, 6, 4], [ 1, 1, 1, 1], (a'th row in the explanation below) [ 1,25, 0,75]] 使用从上到下的折叠选项,我们将输出以下结果: [[ 1,-7,-5,-3], [ 0,22,-5,68]] 为什么?我们从上到下折叠。由于矩阵尺寸是均匀的,因此我们没有中间层可以保持原样。的 “第i行将由被减去第i行”(本来 “第i行用于奇数维矩阵); 因此成为。然后,将第行减去第行(对于奇数维矩阵,将是第行);因此成为。一种aa[1, 1, 1, 1](a − 1 )(a−1)(a-1)(a …

12
像蛇一样猛击
想法 我们之前已经完成了矩阵螺旋旋转,完整旋转甚至对角旋转,但据我所知,还没有蛇旋转! 什么是蛇旋转? 想象一下矩阵的行来回蛇行,它们之间的分隔线就像长队列的分隔线一样: +--------------+ 1 2 3 4 5| +------------ | |10 9 8 7 6| | +-----------+ |11 12 13 14 15| +------------ | 20 19 18 17 16| +--------------+ 现在,假设将这些项目旋转2。每个项目都会前进,就像人们在一条直线上移动一样,最后的项目会溢出并回到起点: +--------------+ --> 19 20 1 2 3| +------------ | | 8 7 6 5 4| | +-----------+ …

14
切掉矩阵以获得所需的总和
定义 给定非负整数和非负整数的矩阵,我们将定义为“斩波”函数,该函数删除中包含k的所有行和所有列。M中号MkķkFkFķF_kM中号Mkķk 例: M=⎛⎝⎜⎜⎜619612805854⎞⎠⎟⎟⎟F5(M)=(1620)中号=(61个51个28985604)F5(中号)=(1个260)\begin{align}M=\pmatrix{\color{red}6&\color{red}1&\color{white}{\bbox[red,1pt]{5}}\\1&2&\color{red}8\\\color{red}9&\color{red}8&\color{white}{\bbox[red,1pt]{5}}\\6&0&\color{red}4}\\\\F_5(M)=\pmatrix{1&2\\6&0}\end{align} 你的任务 鉴于M中号M和目标总和S小号S,你的任务是找到的所有可能值kķk使得在剩余元素的总和Fk(M)Fķ(中号)F_k(M)等于S小号S。 例: 给定上述矩阵M中号M和S=9小号=9S=9: k=5ķ=5k=5是一个解决方案,因为F5(M)=(1620)F5(中号)=(1个260)F_5(M)=\pmatrix{1&2\\6&0}和1+2+6+0=91个+2+6+0=91+2+6+0=9 k=1ķ=1个k=1是唯一可能的其他解决方案:F1(M)=(54)F1个(中号)=(54)F_1(M)=\pmatrix{5\\4}和5+4=95+4=95+4=9 因此,预期输出为{1,5}{1个,5}\{1,5\}。 澄清和规则 确保输入至少接受一种解决方案。 在原始矩阵中的元素的总和被保证是大于S小号S。 您可以假设S>0小号>0S>0。这意味着空矩阵永远不会导致解决方案。 k的值kķk可以按任何顺序以任何合理,明确的格式打印或返回。 你被允许不进行重复数据删除的输出(例如或对于上面的例子被认为是有效的答案)。[ 1 ,5 ,1 ,5 ][1,1,5,5][1个,1个,5,5][1,1,5,5][1,5,1,5][1个,5,1个,5][1,5,1,5] 这是代码高尔夫球。 测试用例 M = [[6,1,5],[1,2,8],[9,8,5],[6,0,4]] S = 9 Solution = {1,5} M = [[7,2],[1,4]] S = 7 Solution = {4} M = [[12,5,2,3],[17,11,18,8]] S = 43 Solution = …

9
小组是周期性的吗?
介绍 如果您已经知道什么是循环组,则可以跳过此部分。 一个组是由一个集合和一个关联的二进制运算定义的$(也就是说,(a $ b) $ c = a $ (b $ c)。该组e中仅存在一个元素,而a $ e = a = e $ a对于该组中的所有元素a(恒等)。对于a该组中的每个元素,都存在一个精确的b使得a $ b = e = b $ a(逆)元素对于组中的每个两个元素a, b,a $ b都位于组中(闭包)。 我们可以a^n代替来写a$a$a$...$a。 通过任何元件产生的循环子a组中的是<a> = {e, a, a^2, a^3, a^4, ..., a^(n-1)},其中n是子组的顺序(大小)(除非该亚型是无限的)。 如果一个组可以由其元素之一生成,则它是循环的。 挑战 给定有限群的Cayley表(乘积表),确定它是否为循环的。 例 让我们看一下下面的Cayley表: 1 2 3 …

13
矩阵排名第一吗?
给定一个整数矩阵,测试它是否为秩一,这意味着每一行都是同一向量的倍数。例如,在 2 0 -20 10 -3 0 30 -15 0 0 0 0 每行是的倍数1 0 -10 5。 相同的定义也适用于列代替行。另外,如果矩阵像一个乘法表,则它是排名第一的矩阵: * 1 0 -10 5 ---------------- 2 | 2 0 -20 10 -3 | -3 0 30 -15 0 | 0 0 0 0 我们已经分配了行标签r[i]和列标签,c[j]因此每个矩阵条目M[i][j]都是对应标签的乘积M[i][j] = r[i] * c[j]。 输入: 整数矩阵作为您选择的2D容器。例如,列表列表,2D数组或类似列表。除非数组格式要求,否则不应将width或height作为附加输入。 矩阵可以是非正方形的。它将至少有一个非零条目-您不必处理空矩阵或零矩阵。 …

16
还有一个程序,我出去了!
给定一个正整数嵌套级n和字符串s的打印的ASCII字符(到~,输出一个。方案,其中,以相同的语言运行时,输出一个程序,其输出程序输出该串s。 总计 n应该生成程序,所有程序都应以与您的答案相同的语言运行。 注意:您可以输出程序或函数-默认情况下,您可以将任何内容作为提交提交。 您可以s使用转义字符输入,以您的语言编写的程序或函数通常会如何输入字符串。 例 例如,给定n=1和s="recursion",Python 2程序可能输出: print "recursion" 运行此命令将输出: recursion 给定n=2和s =“ PPCG”,Python 2程序可能输出: print "print \"PPCG\" " 运行此输出: print "PPCG" 运行此输出: PPCG 相关(+标题灵感):还有一个LUL,我出门了 也相关(在沙箱中-现在已删除,但仍然可以以足够的信誉查看):源代码递归 测试用例 确保您的代码适用于以下测试用例(每行一个): n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

18
这是有效的Takuzu棋盘吗?
Takuzu是一种逻辑游戏,您必须使用包含0s和1s的单元格完成网格。网格必须遵循3条规则: 三个水平或垂直连续的像元不能相同。 必须有相等的0s和1每行和每一列中 s。 没有两行可以相同,也没有两列可以相同。 让我们看一个完成的网格: 0011 1100 0101 1010 正如你所看到的,这款主板遵循规则1,2和3。没有三个相同的水平或垂直单元格,所有行和列都包含相等数量的0s和1s,并且没有两行和两列相同。 让我们看一下无效的网格: 110100 010011 011010 101100 100011 001101 这个网格存在很多问题。例如,row连续5有三个0s,column连续2有三个1s,然后是三个0s。因此,这不是有效的网格。 任务: 您的任务是制作一个给定n* n 0的2D数组和1 s,以验证电路板以查看其是否为有效的成品Takuzu电路板。 例子: 0011 1100 0101 1010 该董事会遵循所有规则,因此是有效的Takuzu董事会。您必须为此返回真实值。 11 00 这不是有效的木板行1,不遵守规则2。您必须为此返回一个false值。 100110 101001 010101 100110 011010 011001 这不是有效的木板,它(仅)由于规则3而失败-第一和第四行相同。 110100 001011 010011 101100 100110 011001 这不是有效的木板,它(仅)由于规则3而失败-第一和第四列相同。 011010 010101 101100 …

6
转置和对角线
对于这个挑战,您应该编写一个程序或函数来输出给定方阵的对角线。但是,如果对解决方案源代码的行和列进行转置,则它应该成为返回矩阵的对角线的程序或函数。继续阅读以了解详细信息... 规则 解决方案的源代码被视为2D字符网格,由您选择的标准换行符分隔(换行,回车或两者结合)。 源代码中的任何一行都不能长于上一行。以下是有效布局的一些示例: ### ### ### ######## ####### ### ### # 这是一个无效布局的示例(因为第三行比第二行长): ###### #### ##### ### 您的两个解决方案应该是彼此的换位,也就是说,您应该通过交换行和列来获得彼此的解决方案。这是两个有效对: abc def ghi adg beh cfi 和 print 10 (~^_^)~ foo bar ! p(fb! r~oa i^or n_ t^ ) 1~ 0 请注意,空格与其他任何字符一样。特别是,尾随空格很重要,因为它们在转置中可能不是尾随空格。 每个解决方案都应该是一个程序或函数,该程序或函数采用一个由一位整数组成的非空方阵作为输入。一种解决方案应输出矩阵所有对角线的列表,而另一种解决方案应输出所有反对角线的列表。您可以使用任何合理,明确的输入和输出格式,但是两种解决方案之间的格式必须相同(这也意味着它们要么必须既是函数,要么是两个程序)。 每个对角线从左上角到右下角,应该从上到下进行排序。 每个对角线从左下角到右上角,应该从上到下进行排序。 计分 为了鼓励解决方案尽可能“方形”,主要分数是解决方案的行数或列数,以较大者为准。越少越好。解决方案中的字符数打破了联系,不包括换行符。同样,少即是好。例: abcd efg h 它及其转置的主要得分为4(因为有4列),并且平局得分为8(因为有8个非换行符)。请在答案的标题中引用这两个值。 测试用例 …

6
修正我对矩阵列表的表示法,第1部分
有时,我的代码中包含常数矩阵列表: [ [[1, 0], [0, 1]], [[1, 0], [0,-1]], [[0, 1], [1, 0]], [[0,-1], [1, 0]] ] 屏幕空间的使用非常糟糕。我宁愿将它们彼此相邻写: [ [[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, 0]] ] 您会发现这仍然是一个语法上有效的嵌套列表,它不再是矩形,并且具有非常不同的结构(特别是,每当我添加大于1x1的矩阵时,它就会变得更深)。但是,仍然可以从这个新列表中重建矩阵的初始列表。 为了将来能够使用此语法,我需要您编写一些代码,以将以水平排列方式编写的数组转换为它们表示的矩阵列表。 为确保答案不对源代码中的布局执行2D模式匹配,输入将仅作为数组对象给出,或者如果您采用字符串表示形式,则输入将不包含任何空格以指示文字是用代码编写的。因此,您将获得如下输入: [[[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, …

14
查找具有最小均值的子矩阵
您会得到一个n×m的整数矩阵,其中n,m> 3。您的任务是找到均值最低的3-by-3子矩阵,然后输出该值。 规则和说明: 整数将为非负数 可选的输入和输出格式 输出必须精确到至少2个十进制小数点(如果不是整数) 子矩阵必须由连续的行和列组成 测试用例: 35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11 Minimum mean: 14 100 65 2 …
21 code-golf  math  matrix 

16
验证特征对
在这个挑战中,您将得到一个方矩阵A,一个向量v和一个标量λ。您将需要确定是否(λ, v)对应于的本征对A。即,是否Av = λv。 点积 两个向量的点积是逐元素相乘的总和。例如,以下两个向量的点积为: (1, 2, 3) * (4, 5, 6) = 1*4 + 2*5 + 3*6 = 32 注意,点积仅定义在两个相同长度的向量之间。 矩阵向量乘法 矩阵是2D值网格。的mX n矩阵具有m行和n列。我们可以将mx n矩阵想象成长度m向量n(如果我们取行)。 在mx n矩阵和大小n向量之间定义矩阵向量乘法。如果我们将mx n矩阵与大小n向量相乘,我们将获得大小m向量。i结果向量中的-th值是i矩阵的第-行与原始向量的点积。 例 1 2 3 4 5 Let A = 3 4 5 6 7 5 6 7 8 9 1 3 …

3
原子比例游戏
您的任务是使机器人扮演得分最高的Atomas。 游戏的运作方式: 游戏板以6个“原子”的环开头,数字范围为1到3。您可以“玩”两个原子之间或另一个原子上的原子,具体取决于原子本身。 您可以有一个普通原子,也可以有一个特殊原子。 正常原子: 您可以在板上任意两个可用原子之间播放普通原子。 您从处于该范围内的原子开始1 to 3,但是该范围每40移动一次就增加1(因此,在40移动之后,范围变为2 to 4)。 如果板上的原子小于该范围,则有1 / no. of atoms of that number on the board可能产生。 假设您有一个2要玩的地方,董事会看起来像这样: 1 1 2 1 让我们将放在的2右侧1。 董事会现在变成: 1 1 2 1 2 注意:木板环绕,所以1最左侧的实际上2是最右侧的旁边。稍后将很重要。 有“特殊”原子的4种类型,它们是: 的+原子: 这个原子在两个原子之间起作用。它有五分之一的机会产卵。 如果原子两侧的+原子相同,则会发生聚变。运作方式如下: The two atoms fuse together to create an atom one higher. …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

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.