![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
drunkwhisky
这个作者很懒,什么都没留下…
展开
-
LeetCode分类习题-查找
查找 1. 查找表 这一部分主要考察各种数据结构的使用: Set:元素互不重复,且只需要元素的值本身 HashMap:需要键值对存储,键不重复,无序 TreeMap:键值对存储,默认按键排序,也可自定义Comparator< E > PriorityQueue:优先队列,用于无序输入、有序输出,例如任务调度场景,根据重要度返回队首 1.1 两个数组的交集(一) 重复结果只需要输出一次,因此只需要两个Set取交集 class Solution { public int[] inters原创 2020-08-25 22:53:48 · 111 阅读 · 0 评论 -
LeetCode分类习题-动态规划
动态规划 可以利用动态规划解决的问题有这样一种特点:总问题可分解为子问题,而每一步子问题都依赖于前一步或前几步的结果。动态规划的求解速度相对于朴素解法更快,因为子问题的结果已经被记录,后面需要的时候直接调用即可。 动态规划的步骤: 确定状态代表什么(dp[i]或dp[i] [j]都代表啥); 状态如何转移的(dp[i] 和dp[i - 1] 或dp[i - k]之间的关系),一开始可以先枚举尝试,如果特别麻烦建议回到步骤1重新定义状态; 确定边界条件(dp[0]或dp[0] [0]都是啥); 确定输出是什原创 2020-08-22 16:26:14 · 167 阅读 · 0 评论 -
LeetCode分类习题-分治
分治算法 1.多数元素 此题思路非常多,主要介绍分治思想的应用和常见其他解法。 1.1 分治法 求原数组的众数可以转化成求各子数组的众数,最后将子数组的结果合并为原数组结果。这就涉及两个问题: a)递归头。当子数组只有一个元素时,众数即为该元素。 b)合并规则。 class Solution { public int majorityElement(int[] nums) { return getMajority(nums, 0, nums.length - 1); }原创 2020-08-19 21:22:35 · 156 阅读 · 0 评论