摘要: 一个位置是否能接雨水,取决于这个下标a的左右两侧,是否存在比a的高度更高的下标。所以找到当前元素a能存多少水,步骤分两步 1.找到每个元素(头尾元素不算)左侧高度最高的下标L。和每个元素右侧高度最高的下标R。 2.找L与R的高度的最小值,假设左边更低 3.nums[L]如果大于nums[a],可以存 阅读全文
posted @ 2020-04-24 15:40 弓呆的胖次 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 时间复杂度可以满足,常数级别额外空间弄不出来。。。。 可以使用HashSet,因为找的是没排序的最小正整数,所以这样就行,先把每一个元素都add进HashSet,之后,从1开始,遍历1到nums.length+1的所有数字,如果这个数字i不在set里面,就说明缺这个数字。用Set。。。好像是怕有重复 阅读全文
posted @ 2020-04-24 15:17 弓呆的胖次 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题目: 与上一题的不同: 1.在上一个“组合总和”中,每个元素可选择无数次,这个题里面,一个元素只能选一次。 2. 上一个题里,元素都不重复,这个题,元素可重复。 思路:和上一题差不多,回朔法。先排序。假如给出的数1,2,2,2。target==5;因为每个数只能选一次,所以要有一个数组visite 阅读全文
posted @ 2020-04-24 14:49 弓呆的胖次 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 这章开始我们对Collection的具体实现类来进行介绍,首先是List,而List中ArrayList是最常用的。 ArrayList介绍 ArrayList简介 ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了 阅读全文
posted @ 2020-04-24 14:25 弓呆的胖次 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 思路: 思路:根据示例 1:输入: candidates = [2,3,6,7],target = 7。 候选数组里有 2 ,如果找到了 7 - 2 = 5 的所有组合,再在之前加上 2 ,就是 7 的所有组合;同理考虑 3,如果找到了 7 - 3 = 4 的所有组合,再在之前加上 3 ,就是 7 阅读全文
posted @ 2020-04-23 16:21 弓呆的胖次 阅读(183) 评论(0) 推荐(0) 编辑
摘要: class Solution { public String countAndSay(int n) { String str,res;//res是对前一项的描述 就是结果,每个数的描述都是从“”生产的,所以要一个str记录一下上一个对前一项的描述 res="1"; for(int i=1;i<n;i 阅读全文
posted @ 2020-04-23 15:59 弓呆的胖次 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 当一个类加载器收到类加载任务,会先交给其父类加载器去完成,因此最终加载任务都会传递到顶层的启动类加载器,只有当父类加载器无法完成加载任务时,才会尝试执行加载任务。采用双亲委派的一个好处是比如加载位于rt.jar包中的类java.lang.Object,不管是哪个加载器加载这个类,最终都是委托给顶层的 阅读全文
posted @ 2020-04-23 14:03 弓呆的胖次 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 假如链表长度为5,有1,2,3,4,5五个元素,删除倒数第2个元素4。5-2=3,也就是指向被删除的元素的上一个元素,正好。 正确做法:多次循环: class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { Li 阅读全文
posted @ 2020-04-23 11:40 弓呆的胖次 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 和三数之和太像了,无非是多了一个循环,求1,2,3,4个数的和等于target的所有不重复集合。第3,4个数那里还可以用双指针法 不同点:先排序,这里和三数之和一样,这里可以加入当前最小值,最大值的判断,减少运算次数,如果当前最小值大于target直接break,因为随着指针右移,四数之和只会越来越 阅读全文
posted @ 2020-04-22 16:22 弓呆的胖次 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 可以看出,假如输入的有两个数字,得用两层循环得出结果。假如输入三个数字,就得是三层循环。可以用递归 class Solution {//递归, public List<String> letterCombinations(String digits) { List<String> list = ne 阅读全文
posted @ 2020-04-22 16:08 弓呆的胖次 阅读(246) 评论(0) 推荐(0) 编辑