Object.hasCode()默认使用对象的地址计算散列码。 Object.equals()默认比较对象地址。 一、散列与散列码 Hash结构容器散列原理(大致的原理,没有必要较真) 数组保存ArrayList的引用,散列码就是数组的下标值。存储元素时计算散列码,找到元素所属List,用该对象eq ...
分类:
其他好文 时间:
2019-09-20 21:26:31
阅读次数:
92
思路导图 先用几个二维数组保存 abcd 用ASCII码保存在二维数组中 HashMap 一开始写不出来 卡了很久 class Solution { public List commonChars(String[] A) { List result = new ArrayList(); List l ...
分类:
其他好文 时间:
2019-07-08 13:22:01
阅读次数:
82
Set是Collection子接口; Set和Collection基本上一样,一点除外: Set无法记住添加的顺序,不允许包含重复的元素。 当试图添加两个相同元素进Set集合,添加操作失败,add()方法返回false。 Set判断两个对象是否相等用equals,而不是使用==。 也就是说两个对象e ...
分类:
编程语言 时间:
2019-07-05 09:13:52
阅读次数:
94
Step1 Problem "原题" 一个人复习一本书,这本书的每一页都有一个知识点ai,每一页的知识点可能会与其他页的知识点相同,问你如何读最少页,将所以知识点读完。 Step2 Ideas: 尺取法通常是指对数组保存下一对下标(起点、终点),燃豆很具实际情况交替推进两个端点直到得出答案的方法。确 ...
分类:
其他好文 时间:
2019-06-21 21:04:39
阅读次数:
138
对象数组 数组可以将对象应用作为元素保存。仅仅使用数组和其它类型的对象就可以建立相当复杂度的信息管理结构。例如,一个数组可以包含有多个对象,每个对象又由一组变量和使用这些变量的方法组成,而对象中的变量可能本身又是数组。 当用数组保存对象时,每个元素是一个对象。即一个对象数组实际上是一个对象引用数组。 ...
分类:
编程语言 时间:
2019-06-15 11:47:10
阅读次数:
97
思路: 1、若想重组后的字符串相邻字母不相同,则首先要计算字符串中出现次数最多的字母的个数,如果其值大于字符串长度的一半,则不能实现,返回空串,考虑字符串长度为奇数情况下,所以对字符串长度进行+1,再进行比较; 2、如果可以实现重组字符串,则应该用数组保存每个字母出现的次数以及是哪一个字母; 3、如 ...
分类:
其他好文 时间:
2019-05-23 00:52:27
阅读次数:
205
Integer内部定义了IntegerCache结构,该结构中定义了Interger[]数组,保存从-127~128范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在-128~127中,可以直接查找数组中的元素,不再去new了。目的是为了提高Integer在装箱时的效率。 ...
分类:
编程语言 时间:
2019-05-03 15:59:38
阅读次数:
148
链接:https://loj.ac/problem/2230 思路: 设立siz数组保存虚点信息,sum表示总信息 维护子树信息link操作和access操作需要进行一些改动 可参考博客:https://www.cnblogs.com/GXZlegend/p/7061458.html 实现代码; ...
分类:
其他好文 时间:
2019-04-30 21:33:31
阅读次数:
120
题目描述 输入一个N*N的矩阵,将其转置后输出。要求:不得使用任何数组(就地逆置)。 输入描述: 输出描述: 示例1 输入 输出 解决问题思路: 解决矩阵转置一般借助数组保存原矩阵或转置后的矩阵,通过将aij与aji互换或将aij输入到另一个矩阵的aji完成转置。现题目要求不借助矩阵,那么我们可以使 ...
分类:
编程语言 时间:
2019-03-29 10:28:26
阅读次数:
323
看再多别人的博客都不如自己翻一下源码: String 内部使用final 修饰的byte[] 数组保存字符串,所以说String是不可变的。 为什么说String相加每次都会返回新的String对象?看下源码就知道了 字符串相加的时候先调用concat方法,最终是调用System.arraycopy ...
分类:
编程语言 时间:
2019-03-09 10:28:56
阅读次数:
200