
数据结构与算法
文章平均质量分 59
小海子l
keep learning
展开
-
四数之和 | 算法
题目 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 思路 四数之和与之前的三数之和、两数之和存在共通性,即:都要确定左边界和右边界 在此题中,首先设置第一个数a在数组的最左端,第二个数b在a+1位置,第三个数left在b+1位置,第四个数right在nums.length-1的位置。 若left小于right,通过left和ri原创 2021-04-11 15:47:31 · 979 阅读 · 0 评论 -
LeetCode-数组刷题
两数之和 public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>(nums.length); for (int i = 0; i < nums.length; i++) { int n = target - nums[i]; if (map.containsKey(n))原创 2021-03-07 23:37:42 · 139 阅读 · 0 评论 -
源码分析-LinkedHashMap
继承关系 通过上图可以看出LinkedHashMap直接继承了HashMap接口,实现了Map接口,间接实现了Cloneable和Serializable接口 构造方法 LinkedHashMap拥有四个构造方法,由于直接继承了HashMap,具体实现由此父类决定 在这几个构造方法之前存在一个重要的属性accessOrder,其决定了在迭代LinkedHashMap时是以访问顺序还是以插入顺序进行 /** * The iteration ordering method for thi原创 2021-03-02 00:24:27 · 304 阅读 · 0 评论 -
源码分析-HashMap
原文链接 前言 在日常工作中高频次使用HashMap这个数据结构,且在上次的求职过程中也遇到了相关的面试题。今晚通过阅读源码了解该数据结构的内部设计。JDK版本1.8.0_231 正文 继承关系 HashMap继承了AbstractMap类,实现了Map Cloneable Serializable接口。 Map接口包含一些常用的操作方法 Cloneable 表示可以进行拷贝 Serializable表示实现了序列化 构造方法 HashMap类存在4个构造方法 1.HashMap(int initia原创 2021-02-26 01:45:33 · 150 阅读 · 1 评论