我有 2 个 3x3 矩阵,每个矩阵都以 2D 数组表示。第一个矩阵包含元素[我存储 PID,因此,元素的范围可以从数百万开始,我只是将其简化为 A 在我的实际应用中它是一个整数范围,A 可以是 200,B 可以是 200000] 例如,矩阵元素
{ A B C
B D C
C F B }
second 持有每个位置的权重,例如矩阵权重
{ 9 7 5
8 6 1
7 5 4 }
所以在上面的例子中,B 是最重的元素,因为它的权重是 7+8+4,其次是 C 等等,
如何找出前 3 个最高元素?
一种解决方案是:是将元素存储在一个单独的数组中 A[9][2](元素,值和唯一)循环元素矩阵,然后另一个循环遍历值数组并填充与元素对应的值. [迭代创建9x2键值矩阵,迭代排序,迭代删除重复项(因为需要合并权重),-有更好的方法吗?]
还有其他有效的方法吗?[提示:我只需要 3 个,所以我不应该使用 9x2]