
leetcode
文章平均质量分 70
tianyouououou
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode前200+剑指offer重置版
leetcode1 两数之和class Solution { public int[] twoSum(int[] nums, int target) { //map里面存储着遍历过的值和索引 HashMap<Integer,Integer>map = new HashMap<>(); for(int i =0;i<nums.length;i++){ //查看map中是否有和当前值配对的值,如果有返原创 2021-02-27 16:49:43 · 286 阅读 · 0 评论 -
leetcode
1 两数之和hashmap方法是目前最优解法class Solution { public int[] twoSum(int[] nums, int target) { int[] res = new int[2]; HashMap<Integer,Integer> map = new HashMap<>(); for(int i =0;i<nums.length;i++){ if(map.containsKey原创 2021-02-04 20:46:33 · 481 阅读 · 1 评论 -
剑指offer第二版(leetcode)Java题解(不断更新)
1 数组中的重复数字题目在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。代码class Solution { public int findRepeatNumber(int[] nums) { for(int i =0;i<nums.length;i++){ //如果当前数不是应该在的位置,就放过去,交换对应位原创 2020-09-15 17:07:59 · 1575 阅读 · 0 评论 -
字符串专题leetcode例题
例 leetcode 49. 字母异位词分组排序,hashmap分组, public List<List<String>> groupAnagrams(String[] strs) { ArrayList<List<String>> results = new ArrayList<List<String>&...原创 2020-03-31 14:28:05 · 175 阅读 · 0 评论 -
二分专题leetcode例题
基本思想首先确定答案在一个区间当中L到R。通过中点判断答案在区间的某一边。区间缩小,再次找中点。70%的二分题目和单调性有关系95%的题目 存在一种两段性的性质,左边成立,右边不成立。模板一算mid下取整。while(l<r){ int mid = l+r>>1; if(check(mid)) r=mid; else l=mid+1;}retur...原创 2020-03-28 21:03:50 · 257 阅读 · 0 评论 -
DFS和回溯专题
dfs:状态庞大方案很少。搜索是思想,可以用递归实现也可以用迭代实现。例 leetcode17 电话号码的字母组合递归 //对于每个字母遍历他包含的字符c,当前str=str+c,然后递归的遍历下一个字符。 //传参:全局变量字母表,参数当前str,参数当前索引,参数传入的字符串 //递归出口:index等于digits.length(index可以用temp的长度计算...原创 2020-03-25 17:53:50 · 293 阅读 · 0 评论 -
几种背包问题总结
01背包问题(物品选不选)完全背包问题(物品无限选)多重背包问题(物品个数有限制且不同)混合背包问题二维费用的背包问题(重量+体积)分组背包问题(先分组,组内互斥)背包问题求方案数一般是价值,这里是方案数求背包问题的方案有依赖的背包问题...原创 2020-03-23 16:25:38 · 3830 阅读 · 0 评论 -
动态规划专题+leetcode例题
基本概念多阶段决策过程。每步求解的问题是后面阶段求解问题的子问题。每步决策将依赖于以前步骤的决策结果。优化原则:一个最优决策序列的任 何子序列本身一定是相对于子序列的初始和结束状态的最优决策序列考虑通过什么参数界定子问题确定子问题的依赖关系写出递推方程。自底向上计算备忘录:经典例题矩阵链相乘(针对规模界定子问题)投资问题(针对项目个数K和投资金额X界定子问题)背包问题(针对前k个...原创 2020-03-22 20:52:14 · 451 阅读 · 0 评论 -
归并排序思路+模板+例题
1 思路归并排序采用了经典的分治策略,通过递归求解。要解决的问题就分为 分和治 两个步骤。分的阶段可以看做递归拆分子序列的过程,递归深度为log2N。治的阶段也就是归并的阶段,将拆分开的子序列 相邻的两两合并。时间复杂度O(nlogn)2 模板1.分治合并 public static void mergeSort(int nums[], int first, int last...原创 2020-03-22 12:01:20 · 519 阅读 · 0 评论