📅  最后修改于: 2023-12-03 14:56:53.239000             🧑  作者: Mango
在 TypeScript 中,我们可以使用 NumPy 库来处理二维数组并对其进行操作。对于给定的二维数组,要计算每一行中唯一值的数量。
方法一:使用 for 循环
使用 for 循环遍历二维数组中的每一行,并将唯一值的数量存储在新数组中。然后返回新数组。
import * as np from 'numpy';
function countUniqueRows(A: np.ndarray): number[] {
const res: number[] = [];
for (let i = 0; i < A.shape[0]; i++) {
const row = A.get(i).tolist();
const unique = new Set(row);
res.push(unique.size);
}
return res;
}
方法二:使用 numpy.unique
使用 numpy.unique 方法获取每一行中的唯一值,并返回其长度。
import * as np from 'numpy';
function countUniqueRows(A: np.ndarray): number[] {
const res: number[] = [];
for (let i = 0; i < A.shape[0]; i++) {
const row = A.get(i);
const unique = np.unique(row);
res.push(unique.shape[0]);
}
return res;
}
以上两种方法都可以有效地计算出每一行中唯一值的数量,并且使用了 TypeScript 中的类型定义和 NumPy 库的方法。