![](https://img-blog.csdnimg.cn/20200326185209745.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法的学习记录
内容主要是自己在学习过程中,遇到的问题,然后通过参考网上资源,最后进行总结,便于回顾!!
CodeY
这个作者很懒,什么都没留下…
展开
-
将矩阵中0所在的行和列都清为0
如果一个矩阵中出现了0,那么我们就把0所在行和列上数字都变为0。样例:输入:输出:代码实现:public class Main { public static void main(String[] args) { int [][]matrix = {{1,1,1},{1,0,1},{1,1,1},{1,2,13}}; int row = matrix.length;/...原创 2020-04-16 16:32:10 · 874 阅读 · 0 评论 -
数组中子数组最大累计和
首先给定一个数组,求出其最大累加和。样例: 输入: arr = {1,-2,3,-2,5,6}; 输出:12。方法一:暴力求解public class Main { public static void main(String[] args) { int maxSum = arr[0]; int[] arr ={1,-2,3,-2,5,6}; for(int ...原创 2020-04-16 16:23:38 · 176 阅读 · 0 评论 -
二维数组——顺时针输出
将一个二维数组按顺时针输出。代码实现如下:public class 顺时针输出二维矩阵 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[][]arr={ {1,2,2,3}, {4,5,4,6}...原创 2020-04-15 16:59:20 · 1387 阅读 · 0 评论 -
递归的理解与运用
递归可以使你的代码简化,便于理解 。递归简单理解就是一个函数方法在不断调用自己本身,直到满足条件,输出结果,退出递归。而我们在使用递归的时候,我们起码要思考三个问题:问题一: 重复(也就是一直重复出现的子问题)。问题二: 找好重复中变化的变化量(也就是参数)。问题三:(我认为最重要的一步) 就是找参数变化趋势。(就指的是递归结束的条件,一定要全,不然就可能会出现无限死循环)。思考完这...原创 2020-04-14 16:05:46 · 196 阅读 · 0 评论 -
稀疏数组(2)
接着上一篇将稀疏数组转换回二维数组**分析:**1.先读取稀疏数组的第一行,根据第一行创建一个原始数组2.在读取稀疏数组的后几行,并赋予 原始二维数组实现代码://创建一个原始数组 int newArr1[][]= new int[newArr[0][0]][newArr[0][1]];// 赋值给原始数组 for(int i=1;i<newArr.lengt...原创 2020-03-25 15:25:47 · 70 阅读 · 0 评论 -
稀疏数组(1)
二维数组转稀疏数组分析:1.我们先把二维数组遍历一遍,统计有效数据的总个数sum2.根据sum可以创建一个 sum*3的数组 newArr[ ] [ ]3.将二维数组的有效值保存在newArr数组中newArr数组是3列分别为 row col val 第一行 为 原先矩阵的行数和列数,val表示是有几个有效值。从第二行开始记录原先矩阵中具体有效值的位置和数值大小。实现代...原创 2020-03-25 14:56:54 · 58 阅读 · 0 评论