我想到了以下内容,但它需要大量内存。
由于我需要在任何子矩阵中找到唯一元素,并且元素在1-10范围内,我为每个矩阵成员创建一个大小为10的数组,该数组存储每个元素的出现次数,直到该矩阵成员(左起)在那一行中。
e.g。
如果行是1, 2, 2, 4, 3, 5
然后arr[3][10]={1,2,0,1,0,0,0,0,0,0} //for the 3rd element '4', '1' occurred once, '2' twice and '4' once.
和arr[5][10]={1,2,1,1,1,0,0,0,0,0} //for the last element '5'
因此,我可以通过遍历两个数组中的每一个来查看任意两个成员之间的唯一元素的数量,并查看哪些数组成员是不同的。
我可以将子矩阵每一行中的所有唯一元素推送到set
,并找到唯一元素的数量。
但是,如果矩阵大小增加,此方法需要大量内存。有没有更好的方法呢?
答案 0 :(得分:1)
答案 1 :(得分:0)