稀疏数组的实现
1 ,创建一个二维数组 赋予初始值
int[][] sparsearr = new int [11][11];
sparsearr[1][2] = 1;
sparsearr[2][2] = 2;
sparsearr[3][2] = 2;
sparsearr[4][2] = 2;
2 根据原始数组 创建稀疏数组
2.1 计算原始数组的有效值个数 num
int num = 0;
for (int[] s1:sparsearr) {
for (int s2: s1) {
if (s2 != 0){
num += 1;
}
}
}
2.2 初始化稀疏数组的第0行
int[][] array = new int[num+1][3];
array[0][0] = sparsearr.length;
array[0][1] = sparsearr[0].length ;
array[0][2] = num;
2.3 遍历原数组 存入稀疏数组
int[][] array = new int[num+1][3];
array[0][0] = sparsearr.length;
array[0][1] = sparsearr[0].length ;
array[0][2] = num;
for (int i= 0;i<sparsearr.length-1;i++){
for (int j =0;j<sparsearr[0].length-1;j++){
if (sparsearr[i][j] != 0){
count ++ ;
array[count][0] = i;
array[count][1] = j;
array[count][2] = sparsearr[i][j];
}
}
}
根据稀疏数组还原 原数组
1 初始化二维数组 //array 为稀疏数组
2遍历稀疏数组 给初始数组赋值
for (int j = 0;j<array[0].length;j++){
init[array[i][0]][array[i][1]] = array[i][2];
}
}
作者:冰莫莫
出处:https://www.cnblogs.com/icemomo/p/15999929.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
转载请注明出处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了