Java 二维数组包含其他二维数组
找到二维阵列包含任何其他二维阵列的最佳解决方案是什么? 例如:Java 二维数组包含其他二维数组,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,找到二维阵列包含任何其他二维阵列的最佳解决方案是什么? 例如: char a[][]={{'a','b'}, {'b','a'}} char b[][]={{'a','b'}, {'b','a'}, {'a','b'}, {'a','b'}, {'a','b'}, {'b','a'}} 那么答案应该是2,因为b包含2次a。我在这里写了一个暴力解决方案: 想法: 从矩阵的左上角(0,0)开始,您希望在其中找到另一个二维数组 逐行将较大矩阵的条目与较小矩阵的条目进行匹配,如果所有行的所有条目都匹配
char a[][]={{'a','b'}, {'b','a'}}
char b[][]={{'a','b'}, {'b','a'}, {'a','b'}, {'a','b'}, {'a','b'}, {'b','a'}}
那么答案应该是2,因为b包含2次a。我在这里写了一个暴力解决方案: 想法: 从矩阵的左上角(0,0)开始,您希望在其中找到另一个二维数组 逐行将较大矩阵的条目与较小矩阵的条目进行匹配,如果所有行的所有条目都匹配,则已找到2d数组。如果任何行的任何条目不匹配,则转到下一个2d子阵列 下一个2d子阵列将从(0,1)开始 我们这样做,直到没有更多的子阵列留下来检查
class Twodarray
{
public static void main(String []args)
{
char a[][]={{'a','b'}, {'b','a'}};
char b[][]={{'a','b','c'}, {'b','a','d'}, {'a','b','a'}, {'a','b','b'}, {'a','b','a'}, {'b','a','a'}};
int c=number_of_2d_arrays(b,a);
System.out.println(c);
}
public static int number_of_2d_arrays(char [][]arr1,char [][]arr2)
{
int i=0,j=0,c=0;
while(true)
{
int row=i,col=j;
if(arr2.length>arr1.length-row)
{
break;
}
else if(arr2[0].length>arr1[0].length-col&&col==0)
{break;}
else if(arr2[0].length>arr1[0].length-col)
{++i;j=0;}
else
{
boolean matches=true;
for(int a=0;a<arr2.length;++a)
{col=j;
for(int b=0;b<arr2[0].length;++b)
{
if(arr1[row][col++]!=arr2[a][b])
{matches=false;break;}
}
if(!matches)
break;
++row;
}
if(matches)
{++c;}
++j;
}
}
return c;
}
}
class-Twodarray
{
公共静态void main(字符串[]args)
{
字符a[][]={{'a','b'},{'b','a'};
字符b[][]={{'a','b','c'},{'b','a','d'},{'a','b','a'},{'a','b','b'},{'a','b','b','a'},{'b','a','a'};
int c=二维数组的个数(b,a);
系统输出打印ln(c);
}
_2d_数组的公共静态整数_(char[]]arr1,char[]]arr2)
{
int i=0,j=0,c=0;
while(true)
{
int row=i,col=j;
如果(arr2.长度>arr1.长度行)
{
打破
}
else if(arr2[0]。长度>arr1[0]。长度col&&col==0)
{break;}
else if(arr2[0]。长度>arr1[0]。长度列)
{++i;j=0;}
其他的
{
布尔匹配=真;
对于(int a=0;a这些数组的结果应该是什么?char a[]={{'1','2'},{'1','2'}};char b[]={{{'1','2'},{'1','2'},{'1','2'}
那么答案应该是2。@realpoint我不知道如何继续。任何有用的信息都会有所帮助。@RajatSharma这两个数组的维数都已修复了吗?非常感谢。{'1','2'},{'1','2'}你是一个救命人:)