稀疏数组:大量无效值的二维数组压缩空间使用。
- 列:3(行、列、值)
- 行:有效数值个数+1(原始二维数组)
- 占用内存空间数量:3 + 原始二维数组数有效值 * 3 + (原始二维数组数有效值 + 1)
- 获取原始数据中行数:1层数组的长度
- 获取原始数据中列数:任何一个2层数组的长度
- 有效值的数目:遍历原始数据中的每个值,挑选出有效值的数目
代码附上:
/** * 稀疏数组工具类 * @author yyc * @date 2022/7/6 */ public class SparseArrayUtil { /** * 获取原始二维数组的有效值 * @param sourceArray * @param defaultValue * @return */ private static int getEffValueCount(final int[][] sourceArray, final int defaultValue) { int effValueCount = 0; for (int[] ints : sourceArray) { for (int anInt : ints) { if (anInt != defaultValue) { effValueCount++;