二维数组与一维数组的比较

     2023-02-23     260

关键词:

【中文标题】二维数组与一维数组的比较【英文标题】:comparison of two dimensional array to a one dimension array 【发布时间】:2013-05-19 18:50:43 【问题描述】:

我被困在这种情况下, 我必须将一行二维数组与一维数组进行比较。两个数组都有像 + 和 - 和 D 这样的字符。为了可用,两个数组(行和单个数组)都应该完美匹配,但如果有字符 D(表示怀疑),它应该被认为是包容性的 例如。 +,-,d 与 +,-,- 相比, +,-,d, +,d,d 程序应该返回 2 和 3 的行号。

【问题讨论】:

请尝试发布您正在使用的代码或算法,这样可以更好地了解您的问题和您正在遵循的方法。 使用像for (int rowNumber ... 这样的外部for 循环,它在0 和二维数组的垂直维度之间运行。然后在其中有另一个for 循环,例如for (int position ...,其中位置测量二维数组和一维数组的水平位置,这是我们要搜索的行。然后将arr2D[rowNumber, position]arr1D[position] 进行比较,并检查内部循环中是否一切正常。内部循环完成后,您知道是否必须生成当前的rowNumber 【参考方案1】:

类似的东西?

var mat = new[,] '-','+','d','-','-','d','-','d','+';
var arr = new[] 'd','-','+';

var matHeight = mat.GetLength(0);
var validRows = new List<int>();

for (int y = 0; y < matHeight; y++)

    bool isRowValid = true;

    for (int x = 0; x < arr.Length; x++)
    
        if (mat[y, x] != 'd' && arr[x] != 'd' && mat[y, x] != arr[x])
        
            isRowValid = false;
            break;
        
    

    if (isRowValid)
    
        validRows.Add(y);
    


foreach (var y in validRows)

    Console.WriteLine("Row 0 is valid", y);
    // will print 1 and 2 (two last rows indices)

不过,我建议使用数组数组(锯齿状数组)而不是二维数组。

【讨论】:

不是我 - 但由于 SO 不是代码生成机器,因此回答这样的“问题”被认为是不好的(没有表现出自己的努力,根本没有有用的问题,更多或不那么奇怪的描述,不关心 cmets,...) (没有投反对票!)您的mat.Lengthmat.GetLength(0) 的拼写错误。 @JeffRSon 你说得对,我只是觉得无聊,找了一些编码要做。 @JeffRSon 虽然我同意提问者如果没有在问题上表现出任何努力,就不能期望得到(有用的)答案,但实际上写一个真的“错误”吗?回答有问题的问题? 顺便说一下,对于多维数组mat,属性mat.Length 存在并返回所有mat.GetLength(i)product,其中i 运行从0 到数组的“排名”。

一维数组与二维数组的拼接与二维数组增加行

一维数组与二维数组的拼接numpy有很多的拼接函数。比如hstack和vstack等。网上又很多这样的总结帖子。但是两个数组能拼接的条件就是得满足两个数组的维度要相同。所以二维数组和一维数组拼接的时候需要使用newaxis将一维数组... 查看详情

jQuery:比较二维数组和一维数组

】jQuery:比较二维数组和一维数组【英文标题】:jQuery:Compare2Darraywith1Darray【发布时间】:2021-11-2423:39:33【问题描述】:假设我的代码中有2个javascript/jQuery数组。一个看起来像这样的二维数组(控制台输出):0:title:\'Freemium\',modu... 查看详情

一维数组复习,二维数组与多维数组

...数组:  一个元素是一个点,一维数组是一条线,二维数组是一个面,三维数组是一个立体。二维数组:int[,]array=newint 查看详情

如何将二维数组中的值与 GoLang 中的一维数组中的值进行比较?

】如何将二维数组中的值与GoLang中的一维数组中的值进行比较?【英文标题】:HowcanIcomparevaluesin2Darraywithvaluesin1DarrayinGoLang?【发布时间】:2021-02-1304:34:06【问题描述】:我需要比较一维数组和二维数组的值,并使用Go返回具有相... 查看详情

javascript与php一维数组与二维数组互转

一、php:一维转二维:a.代码:/*@desc:一维数组转二维数组@paramdata需要转换的数组@paramkey主键@returnret转换后的数组*/functiononetomore($data,$key){$ret=array();foreach($dataas$v){$arr=array();foreach($vas$k1=>$v1){if($k1!=$key){$arr[$ 查看详情

计算一维数组与二维数组中所有行之间余弦相似度的有效方法

】计算一维数组与二维数组中所有行之间余弦相似度的有效方法【英文标题】:Efficientwaytocomputecosinesimilaritybetween1Darrayandallrowsina2Darray【发布时间】:2019-02-0212:54:34【问题描述】:我有一个形状为(300,)的一维数组和一个形状为(400... 查看详情

深入理解一维数组与二维数组(代码片段)

一维数组与二维数组的传参接收一维数组的形参有三种形式voidfuc1(int*arr)voidfuc2(intarr[])voidfuc3(intarr[5])intmain() int*arr1[5]=0; fuc1(arr1); fuc2(arr1); fuc3(arr1); return0;可以用指针来作为形参(常用的方法)࿰ 查看详情

java数组2----二维数组(代码片段)

文章目录概念定义与使用概念可以将二维数组想象为一张表。表的每一行是一个一维数组。那么二维数组就可以看作元素是一维数组的数组。对二维数组的访问也是通过索引实现,只不过需要两个索引如下表示的二维数组... 查看详情

Numpy 将二维数组与一维数组连接起来

】Numpy将二维数组与一维数组连接起来【英文标题】:Numpyconcatenate2Darrayswith1Darray【发布时间】:2015-07-3001:37:40【问题描述】:我正在尝试连接4个数组,一个1D形状数组(78427,)和3个2D形状数组(78427,375/81/103)。基本上这是4个数组,... 查看详情

指针与一维数组和二维数组以及字符串指针数组的学习笔记

...可。说明:本程序讨论了一维数组和指针的关系,谈论了二维数组和指针之间的关系,讨论了字符串数组指针数组和指针之间的关系,代码中以给出定义的方法和简单的使用,但是有些使用方法并没有列出,如果需要,请自行加... 查看详情

java数组(一维数组,二维数组)

数组初始化:1,动态初始化:数组定义与为数组分配空间和赋值的操作分开进行2,静态初始化;在定义数组的同时就为数组元素分配空间并赋值3,默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此,数组分配... 查看详情

一维数组和二维数组(代码片段)

数组一维数组的创建与初始化数组的创建数组的概念:一组具有相同类型元素的集合。创建的方式:数组的元素类型数组名称指定数组的大小例:intarr[10]:创建了一个具有10个整形类型的数组。chararr[10]:创建了一个包含有10个字... 查看详情

数组-二维数组(代码片段)

一、如何理解二维数组数组属于引用数据类型数组的元素也可以是引用数据类型一个一维数组A的元素如果还是一个一维数组类型的,则此数组A称为二维数组二、二维数组的声明与初始化正确的方式://二维数组的声明和初始化in... 查看详情

c语言数组(一维数组形参退化|二维数组形参退化|函数形参等价关系)(代码片段)

文章目录一、一维数组形参退化二、二维数组形参退化三、数组形参等价关系一、一维数组形参退化C中将一维数组作为参数,传递到函数中,该一维数组会退化为指针;将intarray[10]数组,作为参数,传递到函数中,voidfun(intarray[1000])与voi... 查看详情

细说java中的二维及多维数组

...,那么,多维的数组呢?以简单的来说,二维又如何表现呢?在二维之后的多维数组呢?2 问题介绍多维数组,以及如何表现及应用。3方法理解二维数组,首先要先理解一维数组是什么。一维数组是个... 查看详情

多维数组与指针(代码片段)

...多维数组的指针比一维数组的指针要复杂一些。可以认为二维数组是数组的数组。例:定义:inta[3][4]=1,2,3,4,5,6,7,8,9,10,11,12;则二维数组a是由3个一维数组所组成的,设二维数组的首行首地址为2000,表示形式含义... 查看详情

数组(一维数组二维数组)

数组概述C# 数组从零开始建立索引,即数组索引从零开始。C# 中数组的工作方式与在大多数其他流行语言中的工作方式类似。但还有一些差异应引起注意。这些其实和泛型有些类似,数组的操作没有泛型方便,但是性能... 查看详情

c++二维数组给一维数组赋值

...,3,4,5,6,7,8,9;如何把这个数组赋值给数组charb[3];b为123,456,789二维数组给一维数组赋值有两种情况:1 按元素,逐个赋值到对应目标元素上。适用于所有情况,可以自定义规则,遍历二维数组,并赋值到一维数组的对应位置上。由二... 查看详情