
Leetcode分类别刷题
文章平均质量分 59
Leetcode中的双指针、滑动窗口、动态规划、dfs、回溯等
Lavender-csdn
这个作者很懒,什么都没留下…
展开
-
并查集--leetcode
并查集作用:1、合并两个集合2、判断两个点是否在同一个集合中模板:// 找到父节点public static int find(int x) { if(p[x]!=x) p[x] = find(x); return p[x];}1、547. 省份数量以下为java代码:class Solution { static int[] p; public int findCircleNum(int[][] isConnected) { in原创 2021-09-12 12:28:47 · 363 阅读 · 0 评论 -
前缀和+哈希---leetcode
前缀和的基本概念题目:560. 和为 K 的子数组考察S[R]-S[L-1]是否等于k,哈希表的作用可以快速插入一个数、可以快速找到一个数、可以统计数出现的次数。以下为Java代码:class Solution { public int subarraySum(int[] nums, int k) { int result = 0; int sum = 0; //表示前缀和 Map<Integer,Integer> map = new H.原创 2021-09-12 10:44:40 · 206 阅读 · 0 评论 -
回溯法解算法题-leetcode中的组合排列求子集问题
回溯算法的模板:List<Object> list = new ArrayList<>();public void backtrack(路径,选择列表){ //设置结束条件 if 满足结束条件{ lista.dd(路径); return; } //候选节点的选择 for(int i=start;i<选择列表的长度;i++){ //做选择 是否要将当前节点添加到list中原创 2021-03-12 17:37:01 · 461 阅读 · 0 评论 -
字符串处理专题--Leetcode
1、49. 字母异位词分组思路:定义一个map,key值为每个排好序的字符串,value为字符串本身,key的类型为String,value的类型为ArrayList<String>。所以以上例子的map为map={ "aet":{"ate","eat","tea"}, "abt":{bat}, "ant":{"nat","tan"}}以下为java代码class Solution { public L...原创 2021-09-05 15:58:45 · 248 阅读 · 0 评论 -
双指针(滑动窗口)解题---Leetcode
算法思想:1、在字符串 S 中使用双指针中的左右指针技巧,初始化 left = right = 0,把索引闭区间 [left, right] 称为一个「窗口」。2、先不断地增加 right 指针扩大窗口 [left, right],直到窗口中的字符串符合要求。3、此时,停止增加 right,转而不断增加 left 指针缩小窗口 [left, right],直到窗口中的字符串不再符合要求。同时,每次增加 left,都要更新一轮结果。4、重复第 2 和第 3 步,直到 right 到达字符串 S原创 2021-08-29 16:43:14 · 350 阅读 · 0 评论