江苏水利厅建设网站wordpress微网站
江苏水利厅建设网站,wordpress微网站,网站建设提升医院信息化水平,昆明做网站哪家卖萌屋的妹子们#xff08;划掉#xff09;作者团整理的算法工程师思维导图#xff0c;求职/自我提升/查漏补缺神器。该手册一共分为数据结构与算法、数学基础、统计机器学习和深度学习四个部分。点击这里查看具体使用指南。该手册有两种获取方式#xff1a;公众号后台回复… 卖萌屋的妹子们划掉作者团整理的算法工程师思维导图求职/自我提升/查漏补缺神器。该手册一共分为数据结构与算法、数学基础、统计机器学习和深度学习四个部分。点击这里查看具体使用指南。该手册有两种获取方式公众号后台回复【思维导图】获取完整手册Xmind脑图源文件学习起来更方便(ง •_•)ง点击 卖萌屋算法工程师思维导图 专辑查看对应部分内容。下面是数据结构与算法部分~数据结构栈二维矩阵/直方图最大距形面积矩阵最大面积https://leetcode-cn.com/problems/maximal-rectangle/solution/zui-da-ju-xing-by-leetcode/直方图dp最小栈https://leetcode-cn.com/problems/min-stack/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by-38/链表LRU双向链表https://leetcode-cn.com/problems/lru-cache/Least Recently Used寻找重复数-环的入口https://leetcode-cn.com/problems/find-the-duplicate-number/快慢指针相遇后从头发起一个指针按相同速度走相遇即使环的入口并查集http://www.cnblogs.com/cyjb/p/UnionFindSets.html字节跳动大闯关https://blog.csdn.net/sinat_27705993/article/details/82053102求不同并查集的个数 多一个count每union一次count就减1岛屿个数https://leetcode-cn.com/problems/number-of-islands/solution/dfs-bfs-bing-cha-ji-python-dai-ma-java-dai-ma-by-l/多开一个放0的岛树二叉树前序/中序/后序 前序 自顶向下currstack.pop()
print(curr.val)
stack.push(curr.right)
stack.push(curr.left)
中序加一个记录 curr stack.pop()if curr in cache:res.append(curr.val)continue cache.add(curr)stack.append(curr.right)stack.append(curr)stack.append(curr.left)
后序同中序 自底向上二叉树的最近公共祖先三个条件满足两个就是True1.左子树包含p1或p2 2.右子树包含p1或p2 3.自己是p1或p2二分查找树AVLhttps://mp.weixin.qq.com/s/dYP5-fM22BgM3viWg4V44A为啥有了BST和AVL还需要红黑树https://zhuanlan.zhihu.com/p/72505589AVL每次进行插入/删除节点的时候几乎都会破坏平衡树的第二个规则进而我们都需要通过左旋和右旋来进行调整使之再次成为一颗符合要求的平衡树 如果在那种插入、删除很频繁的场景中平衡树需要频繁着进行调整这会使平衡树的性能大打折扣为了解决这个问题于是有了红黑树二叉树中的最大路径和https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/完全二叉树插入https://blog.csdn.net/psc0606/article/details/48742239利用完全二叉树的性质找到要插入的位置先判断左子树的最右结点与右子树的最右结点高度如果相等只需要插入到左子树即可否则插入右子树完全二叉树节点数https://leetcode-cn.com/problems/count-complete-tree-nodes/solution/er-fen-cha-zhao-by-xu-yuan-shu/哈希表连续子数组和为k的倍数https://leetcode-cn.com/problems/continuous-subarray-sum/solution/lian-xu-de-zi-shu-zu-he-by-leetcode/和为K的子数组https://leetcode-cn.com/problems/subarray-sum-equals-k/连续区间和为K用字典存储累计和求最长非重复字符串长度https://blog.csdn.net/zd_nupt/article/details/82669299做个hash_table表记录每个字符的位置。碰到重复的就求两个重复字符之间的距离前缀和哈希表查找二分查找查找最小值/翻转点 只判断mid-right是否被翻转查找固定target 1.判断mid-right是否被翻转找到升序的方向 2.跟升序区间的left/right和mid比看在不在不在就搜索另一个空间存在重复寻找最小值 当num[mid]num[right]时right-1 因为左闭右开mid和right中存在别的值 [0,1,1,1] [1,1,0,1] [1, 0, 1, 1, 1] [1, 1, 1, 1] 特殊情况下时间复杂度为O(N)bug-free写法左闭右开先写排除中位数的逻辑https://www.zhihu.com/question/36132386/answer/97729337 lower/upper bound旋转数组寻找峰值左闭右开往高的地方走https://leetcode-cn.com/explore/learn/card/binary-search/210/template-ii/841/寻找重复数https://leetcode-cn.com/problems/find-the-duplicate-number/solution/xun-zhao-zhong-fu-shu-by-leetcode/双数组中位数https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by-w-2/找出第K小的距离对https://leetcode-cn.com/problems/find-k-th-smallest-pair-distance/solution/hei-ming-dan-zhong-de-sui-ji-shu-by-leetcode/二分查找 双指针阶乘函数后K个零https://leetcode-cn.com/problems/preimage-size-of-factorial-zeroes-function/solution/jie-cheng-han-shu-hou-kge-ling-by-leetcode/乘法表中第k小的数https://leetcode-cn.com/problems/kth-smallest-number-in-multiplication-table/给定高度m 、宽度n 的一张 m * n的乘法表以及正整数k你需要返回表中第k 小的数字。BFS迷宫中的最短路径https://blog.csdn.net/qq_28468707/article/details/102786710字符串A和B的最小相似度https://leetcode-cn.com/problems/k-similar-strings/solution/xiang-si-du-wei-k-de-zi-fu-chuan-by-leetcode/抖音红人DFShttps://blog.csdn.net/anlian523/article/details/82557468BFShttps://blog.csdn.net/u014253011/article/details/82556976对于每个用户遍历粉丝数记录visitedDFS八皇后https://blog.csdn.net/handsomekang/article/details/41308993一行一行依次遍历(从上往下),决定放在哪列(从左往右),这样就不用判断行冲突,只需要判断列冲突和主斜线副斜线冲突.对角线斜率为1 abs(A[i]-A[j])abs(i-j)全排列https://leetcode-cn.com/problems/permutations/solution/有重复数字的全排列 sorthttps://leetcode-cn.com/problems/permutations-ii/复原IP地址https://blog.csdn.net/OneDeveloper/article/details/84946233dfs如果加完3个“.”了则判断是否符合条件否则继续加startstart3连通岛屿个数字节-部门合并https://blog.csdn.net/zd_nupt/article/details/82669299dfs每次遍历到1则把联通的岛置为0双指针两数之和https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/solution/liang-shu-zhi-he-ii-shu-ru-you-xu-shu-zu-by-leetco/在已排序的数组中找到两个数和为target双指针暴力求解 n^2 字典求解 时间n空间n我们使用两个指针初始分别位于第一个元素和最后一个元素位置比较这两个元素之和与目标值的大小。如果和等于目标值我们发现了这个唯一解。如果比目标值小我们将较小元素指针增加一。如果比目标值大我们将较大指针减小一。移动指针后重复上述比较知道找到答案。时间 n空间1数组中两数相减的最大值https://blog.csdn.net/fkyyly/article/details/83930343非排序数组中两个数相减前面减后面的最大值。ij, max(a[i]-a[j])if a[i]-a[j]0: j else: i j, j滑动窗口最小覆盖子串https://leetcode-cn.com/problems/minimum-window-substring/solution/zui-xiao-fu-gai-zi-chuan-by-leetcode-2/和为K的子数组https://blog.csdn.net/a546167160/article/details/94401251当区间和等于target再向后遍历可以i或j但是j可能会越界因此选择i乘积小于K的子数组https://leetcode-cn.com/problems/subarray-product-less-than-k/solution/cheng-ji-xiao-yu-kde-zi-shu-zu-by-leetcode/排序插入插入排序稳定把后面的某个一次次插到前面再管后面的第一次确定的位置可能不是最终位置希尔排序选择选择排序每次选择最小的放到前面堆排交换快速选择冒泡排序稳定把某个确定好再管其他的第一次确定的位置是最终位置快速排序https://blog.csdn.net/qq_36528114/article/details/78667034快排优化 1. 在个数小于N时使用插入排序 2. 尾递归优化减少递归栈的深度 3. 加入三取样切分 //省去了对重复元素的比较性能接近线性归并排序稳定原地归并直接把合适的片段swap过去https://blog.csdn.net/xiaolewennofollow/article/details/50896881两个片段的交换需要三次逆转分别逆转[1, i]和[i1,n] 再逆转[1, n]大数据归并应用较多数组中的逆序对https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/区间和的个数在某个区间https://leetcode-cn.com/problems/count-of-range-sum/基数排序稳定链表排序https://www.cnblogs.com/TenosDoIt/p/3666585.htmlhttps://leetcode-cn.com/problems/sort-list/solution/sort-list-gui-bing-pai-xu-lian-biao-by-jyd/拓扑排序 https://www.cnblogs.com/fengziwei/p/7875355.html字典序下一个排列 https://leetcode-cn.com/articles/next-permutation/字典序的第K小数字https://leetcode-cn.com/problems/k-th-smallest-in-lexicographical-order/字典序排数-先序遍历https://leetcode-cn.com/problems/lexicographical-numbers/按字典序排在最后的子串https://leetcode-cn.com/problems/last-substring-in-lexicographical-order/TopK问题移除K位数字得到最小结果-栈给定一个以字符串表示的非负整数 num移除这个数中的 k 位数字使得剩下的数字最小。https://leetcode-cn.com/problems/remove-k-digits/数组中前K个高频元素https://leetcode-cn.com/problems/top-k-frequent-elements/solution/leetcode-di-347-hao-wen-ti-qian-k-ge-gao-pin-yuan-/哈希统计频率topK排序堆排/快速选择/桶排查找和最小的K对数字https://leetcode-cn.com/problems/find-k-pairs-with-smallest-sums/动态规划编辑距离https://zhuanlan.zhihu.com/p/80682302最长回文子序列子串最长回文子序列bbbab - bbbbhttps://leetcode-cn.com/problems/longest-palindromic-subsequence/solution/dong-tai-gui-hua-si-yao-su-by-a380922457-3/最长回文子串bbbab - bbbhttps://leetcode-cn.com/problems/longest-palindromic-substring/solution/zui-chang-hui-wen-zi-chuan-by-leetcode/LCS公共子串要求元素相邻矩阵最长对角线LIS1. 排序后求LCS时间O(n^2)空间O(n)2. dp[i]存储A[:i]的LIS每个i和前面的下标对比时间O(n^2)空间O(n) for j in [i-1, 0]: if A[j]A[i]: dp[i] max(dp[i], dp[j]1)3. dp[i]存储LIS为i1时最大的值最后len(dp)即为答案时间O(nlogn)空间O(n) 二分法查找插入dp的位置最大子序和最大和包含当前和不包含sum[i] max(sum[i-1]a[i], a[i])背包问题https://blog.csdn.net/stack_queue/article/details/53544109最短路径Dijkstra单源边权非负https://www.jianshu.com/p/ff6db00ad866Floyd全源负环任意两点间的最短路径时间复杂度为O(N3)空间复杂度为O(N2)Bellmanford单源https://blog.csdn.net/lpjishu/article/details/52413812Johnson全源非负环股票问题https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/solution/yi-ge-fang-fa-tuan-mie-6-dao-gu-piao-wen-ti-by-l-3/模式匹配单模式单匹配KMP字符串匹配返回第一个匹配的位置https://www.zhihu.com/question/21923021/answer/281346746多模式单匹配Trie多模式多匹配AC自动机大数据蓄水池抽样法选k个新旧元素被选中第概率都是k/n 第k1个以k/(k1)被选中之前在水池里的被替换概率为k/(k1)*1/k1/(k1) 则旧元素留下的概率为k/(k1)与新元素相等公众号后台回复【思维导图】获取完整手册Xmind脑图源文件学习起来更方便(ง •_•)ง夕小瑶的卖萌屋_关注星标小夕带你解锁AI秘籍订阅号主页下方「撩一下」有惊喜哦
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91742.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!