JAVA
凡亦乸捷
这个作者很懒,什么都没留下…
展开
-
稀疏数组
基本介绍:当一个数组中的大部分数值为0,或者为同一个数值时,可以使用稀疏数组来保存该数组处理方法:1.记录原来的数组有几行几列,有多少个不同的数值,存放在稀疏数组的第一行2.把不同数值的行,列以及数值记录在一个小规模的数组中,从而缩小程序的规模二维数组转稀疏数组:1.遍历二维数组,得到有效值个数 n;2.创建稀疏数组,spare[n+1][3];3.遍历二维数组,将有效值赋给稀疏数组稀疏数组转二维数组1.读取稀疏数组第一行,获取二维数组的行和列2.读取稀疏数组的后几行,赋原创 2020-10-28 16:37:14 · 78 阅读 · 0 评论 -
旋转数组的最小数字
题目:> 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。> 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。> NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。方法一:遍历数组 import java.util.ArrayList; public class Solution { public int minNumberInRotat原创 2020-07-21 08:04:37 · 87 阅读 · 0 评论 -
二维数组中的查找
题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:查找的本质是排除 在本题目中,由于是一个非递减的二维数组,所以,对于每一行,最后一个元素是该行最大的元素,该元素所对应的列中,该元素是最小的。由这个特性,我们可以将目标值与最左上角的值进行比较(若小于),说明第一行被排除; 将目标值与右下角元素进行比较(若大于),第一列被排除public原创 2020-07-20 15:47:17 · 82 阅读 · 0 评论