01 2022 档案

摘要:思路:使用栈后进先出的特殊结构,对括号进行匹配,每次执行stack.push()后当前循环结束开始下一次循环 public boolean KuoHao(String str){ Stack<Character> stack = new Stack<>(); for(char s : str.toC 阅读全文
posted @ 2022-01-19 10:51 Q子 阅读(70) 评论(0) 推荐(0) 编辑
摘要:思路:快慢指针 代码如下: public ListNode inNode(ListNode head){ ListNode slow = head;//慢指针 ListNode fast = head;//快指针 while(fast!=null&&fast.next!=null){ fast = 阅读全文
posted @ 2022-01-13 15:17 Q子 阅读(22) 评论(0) 推荐(0) 编辑
摘要:思路:采用快慢指针,若有环 快慢指针一定会在某处相等 public boolean checkCycle(ListNode head){ if(head==null) return fasle; ListNode slow = head; ListNode fast = head; while(fa 阅读全文
posted @ 2022-01-13 14:29 Q子 阅读(30) 评论(0) 推荐(0) 编辑
摘要:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路:逆向思维 ;如果我从第n个台阶进行下台阶,下一步有2中可能,一种走到第n-1个台阶,一种是走到第n-2个台阶。 即 F(n) = F(n-1)+F(n-2); pubul 阅读全文
posted @ 2022-01-12 15:25 Q子 阅读(33) 评论(0) 推荐(0) 编辑
摘要:思路:递归 public ListNode Merge(ListNode node1,ListNode node2){ if(node1==null) return node2; if(node2==null) return node1; if(node1.val<=node2.val){ node 阅读全文
posted @ 2022-01-12 15:02 Q子 阅读(42) 评论(0) 推荐(0) 编辑
摘要:public int[] addNumber(int[]arr,int target){ int res[] = new int[2];//定义返回下标数组 Map<Integer,Integer> map = new HashMap<>(); for(int i=0;i<arr.length;i+ 阅读全文
posted @ 2022-01-12 14:35 Q子 阅读(45) 评论(0) 推荐(0) 编辑
摘要:思路:LRU(最近最少使用)当输入arr[][] = [[1,1,1],[1,2,2],[2,1],[1,3,4]] 其中二维数组a[x][0]代表操作,如[1,1,1] : set(1,1);[2,1] : get(1) public int[] LRU(int [][]arrs, int k){ 阅读全文
posted @ 2022-01-10 17:02 Q子 阅读(39) 评论(0) 推荐(0) 编辑
摘要:目的:将两个String类型的数相加返回一个String类型数据 public String maxAdd(String s,String t){ int tmp=0;//进位数 int sl = s.length()-1; int tl = t.length()-1; StringBuffer s 阅读全文
posted @ 2022-01-10 15:34 Q子 阅读(75) 评论(0) 推荐(0) 编辑
摘要:思想:使用两个指针,返回符合条件且指针之间距离最大的 public int maxArr(int[]arr){ int tmp = 0;//创建一个临时存放值 int rest = 0;//返回最大长度 for(int right=0;right<arr.length;i++){//右边指针 int 阅读全文
posted @ 2022-01-07 13:40 Q子 阅读(188) 评论(0) 推荐(0) 编辑
摘要:思路:快速排序 public int searchK(int arr[],int n,int k){ return find(arr,0,n-1,k); } public int find(int arr[],int low,int high,int k){ int flag = sortFlag( 阅读全文
posted @ 2022-01-06 14:39 Q子 阅读(66) 评论(0) 推荐(0) 编辑
摘要:前提:arr数组已经排序。实现目的:查询首次与flag相等的下标 1 public int search(int arr[],int flag){ 2 3 int low = 0; 4 int high = arr.length-1; 5 int index = -1;//返回下标 6 7 whil 阅读全文
posted @ 2022-01-05 14:33 Q子 阅读(26) 评论(0) 推荐(0) 编辑
摘要:思路:采用二叉小顶堆实现 add()、offer()方法:插入元素(保持二叉小顶堆结构) element()、peek()方法:获取权值最小元素(堆顶) remove()、poll()方法:获取并删除队首元素 1 public ArrayList<Integer> minKNumber(int[]a 阅读全文
posted @ 2022-01-05 13:46 Q子 阅读(31) 评论(0) 推荐(0) 编辑
摘要:1 public ArrayList<ArrayList<Integer>> LevelQuery(TreeNode root){ 2 //存放返回结果 3 ArrayList<ArrayList<Integer>> restList = new ArrayList<>(); 4 5 if(root 阅读全文
posted @ 2022-01-05 10:07 Q子 阅读(152) 评论(0) 推荐(0) 编辑
摘要:public class TwoTree{ List<Integer> pre = new ArrayList<Integer>();//存储先序遍历后节点 List<Integer> in = new ArrayList<Integer>();//存储中序遍历后节点 List<Integer> p 阅读全文
posted @ 2022-01-04 15:13 Q子 阅读(134) 评论(0) 推荐(0) 编辑
摘要:1 public ListNode reLinked(ListNode head){ 2 ListNode currentHead = head;//当前节点 3 ListNode newHead = null;//当前节点前一节点 4 if(currentHead==null || current 阅读全文
posted @ 2022-01-04 14:11 Q子 阅读(62) 评论(0) 推荐(0) 编辑
摘要:一、Redis穿透 当使用key去查询时,缓存和数据库中都没有对应的数据和数据源,这时在缓存中获取不到去访问DB,若访问量过大容易压垮DB。 解决方法: (1)对空值缓存:如果一个查询返回的数据为空(不管是数据是否不存在),我们仍然把这个空结果(null)进行缓存,设置空结果的过期时间很短。 (2) 阅读全文
posted @ 2022-01-04 11:01 Q子 阅读(127) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示