首页 > 其他分享 >2023.7.20 周四:稀疏数组

2023.7.20 周四:稀疏数组

时间:2023-07-20 20:55:51浏览次数:43  
标签:11 20 int array2 System 2023.7 数组 println out

 1 import java.sql.SQLOutput;
 2 import java.util.Arrays;
 3 import java.util.Scanner;
 4 //稀疏数组
 5 public class test {
 6     public static void main(String[] args) {
 7         //首先创建一个11*11的二维数组  0:没有棋子  1:白棋  2:黑棋
 8         int[][] array1 = new int[11][11];
 9         array1[1][2] = 1;
10         array1[2][3] = 2;
11         System.out.println("输出原始的数组");
12         for (int[] ints : array1) {
13             for (int anInt : ints) {
14                 System.out.print(anInt+"\t ");
15             }
16             System.out.println();
17         }
18         System.out.println("==========================================");
19         //转换为稀疏数组保存
20         int sum = 0;//获取有效值的个数
21         for (int i = 0; i < 11; i++) {
22             for (int j = 0; j < 11; j++) {
23                 if(array1[i][j] != 0){
24                     sum++;
25                 }
26             }
27         }
28         System.out.println("有效值的个数 = "+sum);
29         int array2[][] = new int[sum+1][3];
30         array2[0][0] = 11;
31         array2[0][1] = 11;
32         array2[0][2] = sum;
33         //遍历二维数组,将不是零的值,赋给稀疏数组
34         int count = 0;
35         for (int i = 0; i < array1.length; i++) {
36             for (int j = 0; j < array1[i].length; j++) {
37                 if(array1[i][j] != 0){
38                     count++;
39                     array2[count][0] = i;
40                     array2[count][1] = j;
41                     array2[count][2] = array1[i][j];
42                 }
43             }
44         }
45         System.out.println("输出稀疏数组");
46         for (int i = 0; i < array2.length; i++) {
47            System.out.println(array2[i][0]+"\t"
48                    +array2[i][1]+"\t"
49                    +array2[i][2]);
50         }
51         System.out.println("=============================");
52         System.out.println("还原");
53         int[][] array3 = new int[array2[0][0]][array2[0][1]];
54         for (int i = 1; i < array2.length; i++) {
55             array3[array2[i][0]][array2[i][1]] = array2[i][2];
56         }
57         for (int[] ints : array3) {
58             for (int anInt : ints) {
59                 System.out.print(anInt+"\t ");
60             }
61             System.out.println();
62         }
63     }
64 }

 

标签:11,20,int,array2,System,2023.7,数组,println,out
From: https://www.cnblogs.com/muzhaodi/p/17569644.html

相关文章

  • 7.20 做题记录
    由于剪切板被误删了,所以搬运比较合适的题解。[ARC150F]ConstantSumSubsequenceSolution总结:判定条件严格时,考虑扩充条件利用单调性和分治结构减小状态数CF1523GTryBookingSolution总结:区间不交可以考虑分治CF1464FMyBeautifulMadnessSolution总结:集合到......
  • “范式杯”2023牛客暑期多校训练营1
    D:Chocolate大意:给定一个n*m的方格,上面摆放着巧克力,k和w在玩一个游戏,规定k先行,在每个回合内玩家可以吃掉坐标(x,y)内所有的巧克力(i<=x&&j<=y),在他们回合内至少吃掉一块巧克力,谁最后吃巧克力谁就输了,问赢家是谁做法:一个很经典的博弈论,chomp游戏,这个游戏经过证明可以得到先手必赢,......
  • [极客大挑战 2019]Secret File
    [极客大挑战2019]SecretFile题目来源:buuctf题目类型:web涉及考点:代码审计1.题目让我们去找秘密,第一反应是检查源代码发现一个Archive_room.php,点击看看:出现了一个点击按钮,点击后如下:除此之外没有别的线索了2.我们依据提示回到上一个页面抓包发现了一个新的php,进去......
  • 公元2023年7月20日20:10:排队接水,均分纸牌
    今日AC二道贪心的题目①P1223排队接水-洛谷|计算机科学教育新生态(luogu.com.cn)#include<bits/stdc++.h>usingnamespacestd;intn;doublettime;structp{//题目需输出编号,所以用一结构体intb,time;}t[1005];boolcmp(px,py){、、排序比较函数retu......
  • 剑指offer_20230719
    剑指Offer24.反转链表题目说明定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。解题思路1:栈解题思路2:递归如果从后往前看的话,其实可以这样理解。如果当前处于nk,那么就另nk.next.next=nk,并且将nk.next指向空即可。处理完之后,以nk为头节点的链表其......
  • 剑指offer_20230720
    剑指Offer59-I.滑动窗口的最大值题目说明给定一个数组nums和滑动窗口的大小k,请找出所有滑动窗口里的最大值。示例:输入:nums=[1,3,-1,-3,5,3,6,7],和k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值[13-1]-35367 ......
  • 【网络流,dp】Gym102220A Apple Business
    ProblemLink有一棵\(n\)个点的完全二叉树(点\(i\)的父亲是\(\lfloori/2\rfloor\)),第\(i\)个点有\(a_i\)个苹果。现在有\(m\)个订单,每个订单只接受\(u_i\)到\(v_i\)路径上的苹果,保证\(u_i\)是\(v_i\)的父亲,并且最多只接受\(c_i\)个苹果,单价为\(w_i\)。你可......
  • 7.20 类 学习笔记
    7.20学习笔记类的复用:可以通过创建多个对象来使用同一个类,避免重复编写相似的代码。继承:子类可以继承父类的属性和方法,从而实现代码的重用和扩展性。把类赋值给一个真正的实体,之后就具备其属性定义一个非model类采矿程序及架构学习泊松比:水平方向的变形/垂直方向变形......
  • 动态查询修改增加,动态查询集合和数组
    privateList<Core>cores;privateList<Container>containers以集合的形式将其他类进行封装。当多个表互相关联时,可以用这个方式将其他表的实例以集合的形式封装通过for循环获取集合中的数据通过这几张表中某一个数据进行查询mappers:publicList<Phone>findid(Integerid......
  • SketchUp Pro 2023 下载和安装教程
    SketchUpPro2023下载和安装教程下载链接123云盘:https://www.123pan.com/s/JyAKVv-NTXB.html安装教程演示操作系统:Windows11*安装前请关闭所有杀毒软件,避免报错1.解压【SketchUpPro2023.zip】 2.运行【Setup.exe】安装程序 3.点击【Next】 4.点击【Change.........