算法
文章平均质量分 52
回梦工作室
这个作者很懒,什么都没留下…
展开
-
二叉搜索树BST操作
二叉搜索树BST常用操作原创 2022-06-02 10:04:16 · 149 阅读 · 0 评论 -
双指针模板
双指针算法模板双指针快、慢指针左、右指针1.快、慢指针常用算法 快慢指针一般会初始化指向头节点head,前进时,快指针fast在前,慢指针slow在后。①判断链表是否有环boolean hasCycle(ListNode head){ ListNode fast,slow; // 初始化快慢指针指向头节点 fast = slow = head; while(fast != null && fast.next != null){原创 2022-05-25 11:53:58 · 324 阅读 · 0 评论 -
BFS算法模板
BFS算法BFS(Broad First Search,广度优先搜索)DFS(Depth First Search,深度优先搜索) – > 回溯算法BFS与DFS区别:BFS找到的路径一定是最短的,但代价是空间复杂度比DFS大得多。BFS问题本质:在一个图中找到从起点start到终点target的最近距离。代码模板:// 计算从起点 start 到终点 target 的最近距离int BFS(Node start,Node target){ Queue<Node>原创 2022-05-25 11:53:19 · 760 阅读 · 0 评论 -
回溯算法模板
回溯算法模板回溯问题:一个决策树的遍历问题。路径:已做出的选择;选择列表:当前可以做的选择;结束条件:到达决策树底层,无法再做选择的条件。经典问题:“全排列”、“N皇后问题”。回溯算法框架:result = []def backtrack(路径,选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: # 做选择 将该选择从选择列表中移除 路径.add(选择)原创 2022-05-25 11:50:48 · 915 阅读 · 0 评论 -
二分搜索算法模板
算法-二分法搜索原创 2022-05-19 21:44:56 · 146 阅读 · 0 评论 -
滑动窗口算法模板
滑动窗口算法滑动窗口算法模板框架void slidingWindow(String s,String t){ Map<Character,Integer> need = new HashMap<>(); Map<Character,Integer> window = new HashMap<>(); for(char c:t.toCharArray()){ need.put(c,need.getOrDefault(c原创 2022-05-24 14:39:40 · 230 阅读 · 0 评论