Questions tagged «matrix»

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

3
重构字形矩阵
作为其压缩算法的一部分,JPEG标准沿着交替方向的对角线将矩阵展开为向量: 您的任务是将展开的矢量与矩阵维一起取并重建相应的矩阵。举个例子: [1, 2, 5, 9, 6, 3, 4, 7, 1, 2, 8, 3], 4, 3 应该屈服 [1 2 3 4 5 6 7 8 9 1 2 3] 而尺寸6, 2会给 [1 2 6 3 1 2 5 9 4 7 8 3] 规则 您可以选择仅将一个尺寸作为输入。各个输入可以任何顺序进行。您可以假定宽度和高度为正,并且对于给定的矢量长度有效。 您可以假设向量元素是小于的正整数10。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输入向量可以任何方便,明确,平坦的列表或字符串格式给出。 输出矩阵可以是任何方便,明确,嵌套的列表或字符串格式,也可以是带有两个矩阵维的平面列表。(或者,当然,如果您的语言包含矩阵类型,则作为矩阵类型。) 适用标准代码高尔夫球规则。 …

19
厄米矩阵?
请注意,此挑战不需要处理或理解复数。 给定一个非空方阵,其中每个元素都是一个由两个元素组成的(Re,Im)整数列表,请确定(给出任何真伪值或任何两个一致值)这是否代表一个埃尔米特矩阵。 注意,输入是一个3D整数数组。不是复数的2D数组。如果您的语言不能直接采用3D数组,则可以采用平面列表(如果有帮助,可以使用n×n或n×n×2形状)。 如果矩阵等于其自身的共轭转置,则为Hermitian。换句话说,如果将它跨过其左上角到右下角的对角线,并取反所有两个元素的叶列表的第二个元素,则它与输入矩阵相同。请注意,翻转和否定的顺序无关紧要,因此您可以先取反,然后再取反。 步行示例 本示例使用带有多余空白的JSON来简化阅读: [[ [2, 0] , [2, 1] , [4, 0] ], [ [2,-1] , [3, 0] , [0, 1] ], [ [4, 0] , [0,-1] , [1, 0] ]] 转置(跨NW-SE对角线翻转): [[ [2, 0] , [2,-1] , [4, 0] ], [ [2, 1] , [3, 0] …

6
辅助因子矩阵
辅因子矩阵是Adjugate矩阵的转置。该矩阵的元素是原始矩阵的辅因子。 辅因子(即第i行和第j列的辅因子矩阵的元素)是通过从原始矩阵中删除第i列和第j列乘以(-1)^(i + j)形成的子矩阵的行列式。 例如,对于矩阵 第1行和第2列的辅助因子矩阵的元素为: 您可以在此处找到有关矩阵行列式是什么以及如何计算它们的信息。 挑战 您的目标是输出输入矩阵的辅因子矩阵。 注意:允许使用用于评估辅因子矩阵,辅助矩阵,行列式或类似物的内置函数。 输入值 可以以STDIN最适合您使用的语言的方式或以任何方式将矩阵作为命令行参数,函数参数输入。 矩阵将被格式化为列表列表,每个子列表对应于一行,其中包含从左到右排序的因子。行在列表中从上到下排序。 例如矩阵 a b c d 将以表示[[a,b],[c,d]]。 如果适合您的语言并且明智(例如((a;b);(c;d))),则可以用其他方式替换方括号和逗号。 矩阵将仅包含整数(可以为负数)。 矩阵将始终为正方形(即行和列的数量相同)。 您可以假设输入将始终是正确的(即,没有格式问题,除整数外没有其他问题,没有空矩阵)。 输出量 所得的辅助因子矩阵可以输出到 STDOUT函数,从函数返回,写入文件或任何自然适合您使用的语言的东西。 辅助因子矩阵的格式必须与输入矩阵的给出完全相同,例如[[d,-c],[-b,a]]。如果读取字符串,则必须返回/输出一个字符串,在该字符串中,矩阵的格式应与输入中的格式完全相同。如果您使用诸如列表列表之类的内容作为输入,那么您也必须返回列表列表。 测试用例 输入: [[1]] 输出: [[1]] 输入: [[1,2],[3,4]] 输出: [[4,-3],[-2,1]] 输入: [[-3,2,-5],[-1,0,-2],[3,-4,1]] 输出: [[-8,-5,4],[18,12,-6],[-4,-1,2]] 输入: [[3,-2,7,5,0],[1,-1,42,12,-10],[7,7,7,7,7],[1,2,3,4,5],[-3,14,-1,5,-9]] 输出: [[9044,-13580,-9709,23982,-9737],[-1981,1330,3689,-3444,406],[14727,7113,2715,-9792,414],[-28448,-2674,-707,16989,14840],[-2149,2569,-2380,5649,-3689]] 计分 这是代码高尔夫球,因此最短的答案以字节为单位。

14
找出所有具有重复值的(对角)对角线
挑战: 给定矩阵输入,确定具有重复数字的对角线和反对角线的数量。 因此,如果我们有一个像这样的矩阵: [[aa,ab,ac,ad,ae,af], [ba,bb,bc,bd,be,bf], [ca,cb,cc,cd,ce,cf], [da,db,dc,dd,de,df]] 所有对角线和反对角线将是: [[aa],[ab,ba],[ac,bb,ca],[ad,bc,cb,da],[ae,bd,cc,db],[af,be,cd,dc],[bf,ce,dd],[cf,de],[df], [af],[ae,bf],[ad,be,cf],[ac,bd,ce,df],[ab,bc,cd,de],[aa,bb,cc,dd],[ba,cb,dc],[ca,db],[da]] 例: [[1,2,1,2,1,2], [1,2,3,4,5,6], [6,5,4,3,2,1], [2,1,2,1,2,1]] 所有对角线和反对角线将是: [[1],[2,1],[1,2,6],[2,3,5,2],[1,4,4,1],[2,5,3,2],[6,2,1],[1,2],[1], [2],[1,6],[2,5,1],[1,4,2,1],[2,3,3,2],[1,2,4,1],[1,5,2],[6,1],[2]] 删除仅包含唯一数字的所有对角线和反对角线: [[2,3,5,2],[1,4,4,1],[2,5,3,2],[1,4,2,1],[2,3,3,2],[1,2,4,1]] 因此,输出为包含重复数字的对角线和反对角线的数量: 6 挑战规则: 如果输入矩阵为空,仅包含1个数字或整个矩阵中仅包含唯一数字,则输出始终为0。 确保输入仅包含正数[1,9](除非它完全为空)。 矩阵将始终为矩形(即,所有行的长度均相同)。 I / O是灵活的。输入可以作为整数列表的列表,或者作为整数的2D数组,或者作为矩阵对象,作为字符串等。也可以将矩阵的一个或两个维度作为附加输入。是否以您选择的语言保存字节。 通用规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法以及返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接(即TIO)。 另外,强烈建议为您的答案添加说明。 测试用例: Input: Output: [[1,2,1,2,1,2], 6 [1,2,3,4,5,6], [6,5,4,3,2,1], [2,1,2,1,2,1]] [[]] 0 …

16
矩阵列的进展
考虑无限矩阵: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 2 3 0 0 2 3 0 0 2 3 0 0 2 3 0 0 0 4 5 6 0 0 0 4 5 6 0 0 0 4 ... …
17 code-golf  matrix 

21
对我矩阵的增量求和
背景 整数数组的增量是通过获取连续元素的差形成的数组。例如,[1, 2, 4, 7, 3, 9, 6]具有以下增量:[1, 2, 3, -4, 6, -3]。 现在,我们将整数矩阵的增量定义为每一行及其包含的每一列的增量。 举个例子: Row deltas: 1 2 3 4 │ => [1, 1, 1] 4 5 6 7 │ => [1, 1, 1] 7 1 8 2 │ => [-6, 7, -6] Column deltas (the matrix' columns have …

30
消失的元素
给定一个字符串S和一个索引列表X,S通过删除每个索引处的元素来进行修改,并将S结果作为的新值S。 例如,给定S = 'codegolf'和X = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

13
逆排列索引
介绍 具有n个元素的列表的字典排列可以从0到n编号!-1.例如3!= 6个置换(1,2,3)将是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)。 将排列应用于列表时,其元素的排列顺序与排列中的数字相同。例如,将置换(2,3,1)应用于l = (a,b,c)yield (l[2],l[3],l[1]) = (b,c,a)。 排列的逆定义为颠倒此操作的排列,即应用排列,然后其逆(反之亦然)不会修改数组。例如,(2,3,1)is 的逆(3,1,2),因为将其应用于(b,c,a)yields (a,b,c)。 同样,应用于排列本身的排列的逆值会产生整数1… n。例如,应用(3,1,2)到(2,3,1)产率(1,2,3)。 现在,我们将函数revind(x)定义为索引为x的排列的逆排列的索引。(如果您有兴趣,这是A056019。) 由于与指数置换我只修改了最后ķ列表中的项目当且仅当 0≤ 我 < ķ!,我们可以添加任意数量的元素到列表的开始,而不会影响revind(我)。因此,列表的长度不影响结果。 挑战 您的任务是实现revind(x)。您将编写一个完整的程序或函数,以单个非负整数x作为输入/参数,并以单个非负整数输出/返回结果。 输入和输出可以是0索引或1索引,但是它们之间必须保持一致。 禁止按索引生成排列,返回排列的索引或找到逆排列的内建函数。(允许生成所有排列或下一个排列的构建体。) 适用标准代码高尔夫球规则。 例子 下面的示例是0索引的。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 …
17 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 

11
递归2x2行列式
2 x 2矩阵的行列式 a b c d 由给出ad - bc。 给定尺寸为2 n x 2 n的数字矩阵,n≥1,输出通过递归计算每个2 x 2子块的行列式获得的结果,直到获得单个数字为止。 例如,给定输入 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 第一步之后,我们获得: (3*9 - 1*5) (4*6 - 1*2) = 22 22 (5*7 - 3*9) (5*3 - 8*9) …

10
升序矩阵
“升序矩阵”是整数(包括0)的无限矩阵,其中任何元素是最小的可用元素,之前尚未在相应的行和列上使用: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

20
贡献最大的行
给定一个非负整数的非空矩阵,请回答哪些唯一行对矩阵中元素总数的贡献最大。 通过任何合理的指示来回答,例如,唯一行的出现顺序(或排序顺序)的掩码,或这些行的索引(从零或一开始的索引),或由行组成的子矩阵(以任何顺序)或某些一种字典构造……–但要解释一下! 例子 [[1,2,3],[2,0,4],[6,3,0],[2,0,4],[6,3,0],[2,0,4]]: 唯一的行是[1,2,3],,[2,0,4]并且[6,3,0]每次出现时各自分别贡献6、6和9。但是,它们分别出现一次,三次和两次,因此它们各自的出现对总数(42)的贡献分别为6、18和18,因此后两行是贡献最大的。因此,有效的答案是: [false,true,true] 上面或 实际行的 外观/排序顺序或 [1,2]/ [2,3]基于零/一的索引的 掩码⋮ [[2,0,4],[6,3,0]] [[1,2],[3,1],[2,3],[1,2],[3,1],[2,3],[1,2]] [false,false,true](出现顺序)/ [false,true,false](排序次序) [2]/ [3](出现顺序)/ [1]/ [2](排序次序) [[2,3]] ⋮

7
无边桌
在此挑战中,您将把来自字母的字母放置在笛卡尔平面中,并将结果输出为文本。 您的输入将包含在具有3个参数的列表列表中: X坐标 Y坐标 串 怎么样? 我们知道笛卡尔平面包含2个轴(X,Y)(X,ÿ)(X, Y)和4个象限,其中坐标的符号为,,(- ,- )和(+ ,- )。例如(X,Y)(X,ÿ)(X,Y)(+ ,+ )(+,+)(+,+)(- ,+ )(-,+)(−,+)(- ,- )(-,-)(−,−)(+ ,− )(+,-)(+,−) 将以下3 x 3矩阵视为笛卡尔平面 (- 1 ,1 )(- 1 ,0 )(− 1 ,− 1 )(0 ,1 )(0 ,0 )(0 ,− 1 )(1 ,1 )(1 ,0 )(1 ,− 1 )(-1个,1个)(0,1个)(1个,1个)(-1个,0)(0,0)(1个,0)(-1个,-1个)(0,-1个)(1个,-1个)\begin{matrix} (-1,1) & …

8
按坡度对区域进行分类
定义 的ķ 个的大小的正方形矩阵的环Ñ,其中1≤ķ≤天花板(N / 2)是通过的元件形成的列表ķ 个和(N-K + 1)个行和列,但没有第一个和最后一个k-1个元素。 例: 矩阵: 1 2 3 4 5 6 7 8 9 1 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 以圆环分隔: + ------------------- + | 1 2 3 4 5 | | + ----------- + …

7
排队我们的分解
在这个挑战中,我将要求您找到方矩阵的QR分解。矩阵A的QR分解是两个矩阵Q和R,因此A = QR。特别地,我们正在寻找Q为正交矩阵(即Q T Q = QQ T = I,其中I为乘法恒等式,T为转置),R为上三角矩阵(每个值小于其对角线必须为零)。 您将编写通过任何合理方法采用方矩阵并通过任何方法输出QR分解的代码。许多矩阵都有多个QR分解,但是您只需要输出一个即可。 对于矩阵中的每个条目,所得矩阵的元素应在实际答案的小数点后两位内。 这是一场代码高尔夫比赛,因此答案将以字节计分,而字节数越少越好。 测试用例 这些只是可能的输出,只要它们是有效的,您的输出就不必全部匹配。 0 0 0 1 0 0 0 0 0 0 0 0 -> 0 1 0 0 0 0 0 0 0 0 0 1 , 0 0 0 1 0 0 1 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.