algorithm
文章平均质量分 95
大树莓
这个作者很懒,什么都没留下…
展开
-
算法总结:线段树扫描线
线段树(segment tree)扫描线算法(Sweep Line)基础知识:一个很巧妙的解决时间安排冲突的算法,本身比较容易些也很容易理解常见题目:Leetcode 253 Meeting Room II(Meeting Room I也可以使用)Leetcode 218 The Skyline ProblemLeetcode 759 Employee Free Time...原创 2021-03-12 11:59:48 · 917 阅读 · 0 评论 -
算法总结:数与位
三. 数与位题目分类 题目编号数字的位操作 7、9、479、564、231、342、326、504、263、190、191、476、461、477、693、393、172、458、258、319、405、171、168、670、233、357、400简单数学题 492、29、507快速幂 50、372...原创 2021-02-20 05:01:10 · 453 阅读 · 3 评论 -
算法总结七:Tree和recursion的相互成全
一。Tree的特点:每个节点都只有有限个子节点或无子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;每个节点可以分出多个不相交的子树;树里面没有环路(cycle)二。为什么需要树?因为它结合了另外两种数据结构的优点: 一种是有序数组,另一种是链表。在树中查找数据项的速度和在有序数组中查找一样快, 并且插入数据项和删除数据项的速度也和链表一样。from zhihu三。Tree的种类:Ordered Tree vs Unordered Tree兄弟节点有顺序的树原创 2021-02-16 03:26:06 · 1082 阅读 · 0 评论 -
算法总结六:图论中五花八门的算法
区别:普通BFSDijkstraBellman-FordFloyd-Warshall=================1.BFS主要适用于无权重向图中搜索出步骤最少的路径,当方向图存在权重时,不再适用;2.Dijkstra主要用于有权重的方向图中搜索出最短、cost最小的路径,但不适合于有负权重的情况。对于有环图,和BFS一样,标志好已处理的节点避免进入死循环,可以支持;3.Bellman-Ford:负权重4.Floyd-Warshall: 解决任意两点间的最短路径==========原创 2021-01-19 11:17:59 · 392 阅读 · 0 评论 -
算法总结五:BFS你也能出错?不该!
引用其它博客总结,能用DFS做的算法题,用BFS也能做。岛屿题为例:leetcode200求岛屿的数量:那么DFS的树上,有几个叉就是几个岛屿。BFS的树上,有一层就是几个岛屿。BFS solution:class Solution { int[][] dirs={{1,0},{-1,0},{0,1},{0,-1}}; public int numIslands(char[][] grid) { if(grid==null ||grid.length==0) re原创 2021-01-17 11:12:34 · 423 阅读 · 2 评论 -
算法总结四:Trie到底有什么好处?
1.Trie是什么?Trie,取自“retrieval”检索,又称前缀树或字典树,是一种有序树,,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。In computer science, a trie, also called digital tree or prefix tree, is a kind of search tree—an ordered t原创 2021-01-10 03:17:15 · 457 阅读 · 0 评论 -
算法总结三:DFS可以套用模版吗?
学习目标:辨别:什么是DFS深度优先?什么是back track回溯?什么是recursion递归?学习内容: 1、 DFS深度优先的高频题学习时间: 1、 周一至周日晚上 7 点—晚上9点学习产出: 1、 技术笔记 博客 1 篇=================什么是DFS深度优先?什么是back track回溯?什么是recursion递归?在学习leetcode中backtracking题目时,碰到了经典的DFS题目N-Queens。为啥这个题目既是bac原创 2021-01-09 05:20:52 · 356 阅读 · 1 评论 -
算法总结二:recursion应用千变万化,我该怎么办?
学习目标:总结recursion的规律和自己的应对方法学习内容:1、 leetcode高频recursion25题学习时间: 1、 周一至周五晚上 7 点—晚上9点学习产出:1、 技术笔记博客 1 篇==================================基础题:lc13Evaluate a to the power of b, assuming both a and b are integers and b is non-negative.recursio原创 2020-12-20 09:52:56 · 291 阅读 · 0 评论 -
算法总结一: Linked List的高频操作
学习目标:算法总结一: Linked List学习内容:1、 Leetcode题库Linked List tag高频题学习时间:1、 周一至周天晚上 7 点—晚上9点学习产出:1、 技术笔记 1 篇2、解题思路视频1个=====================================linked list的特性决定了,无法直接获取一个list的size,无法random access。一些基本操作如:reverse,findMid,merge,reorder,原创 2020-12-14 02:16:15 · 408 阅读 · 0 评论