随笔分类 -  top100

摘要:单调栈做法 42. 接雨水 public class mylist { public static int trap(int[] height) { int lens = height.length; // 形成凹槽至少需要三个圆柱,少于三个无法实现 if(lens<=2) return 0; // 阅读全文
posted @ 2023-04-20 10:21 Chenyi_li 阅读(13) 评论(0) 推荐(0) 编辑
摘要:739. 每日温度 java在这里实现的时候用的是LinkedList,所以个人感觉这里与其叫单调栈不如叫单调队列。 注意区分LinkedList的add和push方法。 顺便温习一下集合的关系 class Solution { public int[] dailyTemperatures(int[ 阅读全文
posted @ 2023-04-19 16:59 Chenyi_li 阅读(5) 评论(0) 推荐(0) 编辑
摘要:设计单调栈 class Solution { class MyQueue{ Deque<Integer> deque = new LinkedList<>(); // 弹出元素时,比较当前要弹出的数值是否等于队列出口的数值,如果相等则弹出 public void poll(int val){ if( 阅读全文
posted @ 2023-04-17 21:32 Chenyi_li 阅读(11) 评论(0) 推荐(0) 编辑
摘要:链接:https://leetcode.cn/problem-list/2cktkvj/ 阅读全文
posted @ 2023-04-16 20:40 Chenyi_li 阅读(50) 评论(0) 推荐(0) 编辑
摘要:面试可能 考的是0-1背包和完全背包问题。 ## 概述 ![](https://img2023.cnblogs.com/blog/1892439/202306/1892439-20230601155140171-1650254038.png) ## 0-1背包 ![](https://img2023 阅读全文
posted @ 2023-04-07 11:14 Chenyi_li 阅读(11) 评论(0) 推荐(0) 编辑
摘要:参考:https://leetcode.cn/problems/kth-largest-element-in-an-array/solutions/19607/partitionfen-er-zhi-zhi-you-xian-dui-lie-java-dai-/ https://www.bilibi 阅读全文
posted @ 2023-04-02 16:18 Chenyi_li 阅读(5) 评论(0) 推荐(0) 编辑
摘要:package leetcode.mySort; import java.util.Random; public class QuickSort { private final static Random random = new Random(System.currentTimeMillis()) 阅读全文
posted @ 2023-04-02 16:16 Chenyi_li 阅读(13) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.bilibili.com/video/BV1Y441117gR/?from=search&seid=9796499757209042214&spm_id_from=333.337.0.0&vd_source=46d50b5d646b50dcb2a208d3946b159 阅读全文
posted @ 2023-03-26 11:03 Chenyi_li 阅读(48) 评论(0) 推荐(0) 编辑
摘要:56.合并区间 class Solution { public int[][] merge(int[][] intervals) { /** 1.根据元素左侧的大小排序。 2.判断合并 a.如果下一个元素的左侧元素大于当前元素的右侧元素,不合并,直接加入。 b.如果不是,进行合并,将当前元素的右侧元 阅读全文
posted @ 2023-03-19 16:56 Chenyi_li 阅读(8) 评论(0) 推荐(0) 编辑
摘要:10. 正则表达式匹配 1.动态规划 public boolean isMatch(String s, String p) { char[] cs = s.toCharArray(); char[] cp = p.toCharArray(); // dp[i][j]:表示s的前i个字符,p的前j个字 阅读全文
posted @ 2023-03-17 10:44 Chenyi_li 阅读(23) 评论(0) 推荐(0) 编辑
摘要:22. 括号生成 有效的含义是指的右括号的数量不能超过左括号。 参考官方答案以及评论 1.完全暴力方法 列举出所有的情况,把无效的舍去 class Solution { public List<String> generateParenthesis(int n) { List<String> com 阅读全文
posted @ 2023-03-14 21:13 Chenyi_li 阅读(5) 评论(0) 推荐(0) 编辑
摘要:![](https://img2023.cnblogs.com/blog/1892439/202303/1892439-20230312185733052-1565615725.png) ## 这是属于滑动窗口的系列题目 ``` public int lengthOfLongestSubstring 阅读全文
posted @ 2023-03-12 19:09 Chenyi_li 阅读(16) 评论(0) 推荐(0) 编辑
摘要:思路:所给的链表是逆序的,要求返回的也是逆序的,这正是模拟人在做加法运算时候的进位习惯,从低位到高位运算。只需要新建一个列表存储结果链表,设定一个变量做为进位标识。 /** * Definition for singly-linked list. * public class ListNode { 阅读全文
posted @ 2023-03-09 20:21 Chenyi_li 阅读(14) 评论(0) 推荐(0) 编辑
摘要:三数之和的核心思想是双指针, 1.将数组排序 2.设定变量i,L,R三个指针变量,寻找num[i]+num[L]+num[R] = 0的三个下标的值。方法:i是作为遍历数组的下标,L是从i后面的开始的部分的左边的元素,R是i后面部分右边的元素。 tips: a.当i>0,没必要在继续遍历寻找值,因为 阅读全文
posted @ 2023-03-09 19:49 Chenyi_li 阅读(12) 评论(0) 推荐(0) 编辑
摘要:自己造轮子 class LRUCache { // 题根据目要求函数 get 和 put 必须以 O(1) 的平均时间复杂度运行,所以一定需要用到HashMap。 // 同时,需要删除最久未使用,也就是说需要保留顺序,需要用到队列,并且插入删除复杂度O(1),所以需要用到链表(双向)实现的队列 // 阅读全文
posted @ 2022-10-14 16:45 Chenyi_li 阅读(12) 评论(0) 推荐(0) 编辑

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