随笔分类 - java
摘要:开始想直接new Stack<>(); 然后顺手点开了源码 Stack源码: public class Stack<E> extends Vector<E> { //构造略 public E push(E item); public synchronized E pop(); public sync
阅读全文
摘要:背景 最开始刷题的时候,总想着写一个大的辅助数组,用来对每一个元素进行计数,但是考虑到元素空间,肯定是不可行的 但是,对于一些有限个元的元素,比如short型,char型,Byte型,这些类型的元素空间都有限,因此就可以考虑使用一个辅助数组来计数 具体问题1: 在看sort源码时,以为底层就是使用的
阅读全文
摘要:###背景 在访问元素的时候,经常会用到一个辅助数组visit[nums.length]来记录元素的访问状态 特别是在图,树的深度遍历,要记录元素是否已经访问过了 在答案树的回溯过程中,经常需要剪枝来删除一些答案,比如要求是不重复的元素 ###问题 那么使用visit数组,会开辟额外的空间 ###解
阅读全文
摘要:题目: 合并K个升序链表 链接:https://leetcode-cn.com/problems/merge-k-sorted-lists 给你一个链表数组,每个链表都已经按升序排列。将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4
阅读全文
摘要:看文档 实现了四个接口Serializable , Iterable , Collection , Queue 序列化,可迭代,是个Collection类型的集合,队列性质,是一点多余的东西都没有啊 但是,线程不安全!!! 使用方法:同一般集合 但是每次队头出来的都是高优先级元素,那既然是优先级了,
阅读全文
摘要:#题目 链接:https://leetcode-cn.com/problems/generate-parentheses 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(()
阅读全文
摘要:#题目 链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示
阅读全文
摘要:#题目: 链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注
阅读全文
摘要:##1数字-->String,char 两种方式,字符串的工具类和数字包装类都提供了方法 ###1.1Integer Integer包装类中,重写了toString方法,将num转换成String类型 String str=Integer.toString(num); 底层: // Integer.
阅读全文
摘要:单向遍历常用双层for(i++或者i--) 需要往返的遍历数组的时候 可以采用两种方式: 1.俩for循环,用if+flag判断使用哪个 例如: boolean flag=true;//正向 while(true){ if(flag){ for(int i=0;i<len;i++){ ......
阅读全文
摘要:基本都是apache提供的 ###1.commons-io.jar 涉及到IO流处理的各种方法 下载连接
阅读全文
摘要:###记录原因: 刷题时发现一道二分法题怎么写都超时 老天,我从开始学编程就没注意过这事啊,mid一直是用 (b+e)/2表示啊 甚至一度怀疑二分法写错了,或者根本不是用二分法做的 然后我看了正确答案 int mid=b+(e-b)/2; 将道理我好歹还比这个少一次加减法运算吧 ###超时的用例 索
阅读全文