【文件属性】:
文件名称:leetcode探索卡片再哪里-Interview-Preparation:Leetcode上问题的解决方案,使用Golang和JAVA
文件大小:357KB
文件格式:ZIP
更新时间:2021-06-30 05:35:14
系统开源
leetcode
探索区别再哪里Leetcode
问题的解决方案,使用
Golang
和
JAVA。
如果您有兴趣提供帮助或者您有不同编程语言的解决方案,请随时提出拉取请求。
数据结构
数组和字符串
该数组在
Java
中具有固定大小。
ArrayLists
具有动态调整大小功能。
当
Array
已满时,它的大小加倍。
复制字符串是一项昂贵的操作,另一种方法是使用
String
Builder。
String
Builder
是一个可调整大小的字符串数组。
String
Builder
可以在需要时转换为
String。
哈希表
它是键值的映射。
如何实施?
使用链表数组和哈希函数。
它是如何工作的?
使用哈希函数计算密钥的哈希码。
结果将映射到数组中的一个索引。
例如(键
%
ArrayLength)。
键和值将存储在该索引中。
碰撞处理:
由于数组冲突中存在无限值和有限可能的哈希码或索引。
如何处理碰撞?
使用链表链接:这是我们制作具有映射到链表的数组的项目哈希表的最常见方式。
键和值存储在链表中。
在最坏情况下,访问的时间复杂度为
O(n)。
用二叉搜索树链接:碰撞存储在二叉搜