数据结构与算法
数据结构与算法,包括题解思路
coding丁
中山大学,
math and computer
保持谦卑,保持自信,充满动力,充满野心
展开
-
leetcode 经典二分查找算法题目(思路、方法、code)
leetcode 经典二分查找算法题目(思路、方法、code)文章目录leetcode 经典二分查找算法题目(思路、方法、code)[35. 搜索插入位置](https://leetcode-cn.com/problems/search-insert-position/)[69. x 的平方根](https://leetcode-cn.com/problems/sqrtx/)[34. 在排序数组中查找元素的第一个和最后一个位置](https://leetcode-cn.com/problems/find-原创 2020-05-29 09:52:40 · 1921 阅读 · 0 评论 -
Trie树(字典树)相关概念以及实现和练习
Trie树(字典树)相关概念以及实现和联系文章目录Trie树(字典树)相关概念以及实现和联系Trie树基本概述[208. 实现 Trie (前缀树)](https://leetcode-cn.com/problems/implement-trie-prefix-tree/)[648. 单词替换](https://leetcode-cn.com/problems/replace-words/)Trie树基本概述Trie树,又称字典树或前缀树,是一种有序的、用于统计、排序和存储字符串的数据结构,它的关键字原创 2020-05-27 09:25:04 · 435 阅读 · 0 评论 -
leetcode并查集相关经典题目(思路、分析、代码)
leetcode并查集相关经典题目(思路、分析、代码)关于并查集的一些基础知识以及应用,可以看我之前的一篇文章:一文搞定并查集看完那篇文章基本可以完全掌握并查集文章目录leetcode并查集相关经典题目(思路、分析、代码)[547. 朋友圈](https://leetcode-cn.com/problems/friend-circles/)[1319. 连通网络的操作次数](https://leetcode-cn.com/problems/number-of-operations-to-make-ne原创 2020-05-22 09:17:32 · 5739 阅读 · 2 评论 -
leetcode买卖股票问题(思路、方法、code)
一文解决Leetcode买卖股票问题对于前3个问题,均采用了比较巧妙的解法。由于第4个问题具有非常强的泛型,因此采用了DP,第4个问题的dp如果理解的话,实际上只需要稍加修改状态便可以用该dp思路应用于所有的6个题中。在后两个问题便是基于该思路用dp解决的。文章目录一文解决Leetcode买卖股票问题[121. 买卖股票的最佳时机](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/)[122. 买卖股票的最佳时机 II](原创 2020-05-18 12:10:36 · 1657 阅读 · 0 评论 -
leetcode 子数组 相关问题(分析+代码)
文章目录[560. 和为K的子数组](https://leetcode-cn.com/problems/subarray-sum-equals-k/)[209. 长度最小的子数组](https://leetcode-cn.com/problems/minimum-size-subarray-sum/)[713. 乘积小于K的子数组](https://leetcode-cn.com/problems/subarray-product-less-than-k/)[1248. 统计「优美子数组」](https:/原创 2020-05-16 11:22:15 · 570 阅读 · 0 评论 -
leetcode 经典宽搜BFS深搜DFS题目(思路、方法、code)
leetcode 经典宽搜BFS深搜DFS题目(思路、方法、code)BFS和DFS的经典应用就是在树和图中的遍历。地图的搜索问题通常都可以用BFS和DFS解决,下面题目非常典型,并且很多题目类似,自己如果能够独立完成基本就掌握了BFS和DFS以及地图的遍历问题。文章目录leetcode 经典宽搜BFS深搜DFS题目(思路、方法、code)[200. 岛屿数量](https://leetcode-cn.com/problems/number-of-islands/)[127. 单词接龙](https:原创 2020-05-14 23:33:43 · 1774 阅读 · 0 评论 -
leetcode 经典动态规划DP算法题目(思路、方法、code)
leetcode 经典动态规划DP算法题目(思路、方法、code)动态规划最重要的在于设计DP数组,找到相应的动态转移方程文章目录leetcode 经典动态规划DP算法题目(思路、方法、code)[70. 爬楼梯](https://leetcode-cn.com/problems/climbing-stairs/)[198. 打家劫舍](https://leetcode-cn.com/problems/house-robber/)[213. 打家劫舍 II](https://leetcode-cn.co原创 2020-05-12 19:22:20 · 2835 阅读 · 0 评论 -
leetcode 经典哈希表与字符串题目(思路、方法、code)
文章目录[409. 最长回文串](https://leetcode-cn.com/problems/longest-palindrome/)[290. 单词规律](https://leetcode-cn.com/problems/word-pattern/)[205. 同构字符串](https://leetcode-cn.com/problems/isomorphic-strings/)[49. 字母异位词分组](https://leetcode-cn.com/problems/group-anagrams原创 2020-05-11 22:18:06 · 667 阅读 · 0 评论 -
leetcode 经典 图相关题目(思路、方法、code)
图的问题基本就是 BFS和DFS,还有拓扑排序、最短路、最小生成树,有时也会用并查集进行分类,还要注意节点的入度出度等特征。文章目录[207. 课程表](https://leetcode-cn.com/problems/course-schedule/)[210. 课程表 II](https://leetcode-cn.com/problems/course-schedule-ii/)[684. 冗余连接](https://leetcode-cn.com/problems/redundant-connec原创 2020-05-10 11:56:22 · 2874 阅读 · 0 评论 -
leetcode二叉搜索树经典题目(思路、方法、code)
文章目录二叉搜索树的简介[98. 验证二叉搜索树](https://leetcode-cn.com/problems/validate-binary-search-tree/)[700. 二叉搜索树中的搜索](https://leetcode-cn.com/problems/search-in-a-binary-search-tree/)[701. 二叉搜索树中的插入操作](https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/)原创 2020-05-09 12:32:42 · 1188 阅读 · 0 评论 -
leetcode 经典二叉树算法题目(思路、方法、code)
leetcode 经典二叉树算法题目(思路、方法、code)二叉树相关题目,主要就是要搞定二叉树的多种遍历方式,包括先序遍历,中序遍历,后序遍历,层次遍历,DFS遍历。掌握了所有的遍历方法,二叉树的题目基本就化简为一些简单问题去解决。二叉树由于其良好的结构,很多题目都可以化为递归去解决。文章目录leetcode 经典二叉树算法题目(思路、方法、code)[226. 翻转二叉树](https://leetcode-cn.com/problems/invert-binary-tree/)[112. 路径总原创 2020-05-08 20:53:37 · 935 阅读 · 0 评论 -
归并排序和逆序数(思路、code)
文章目录归并排序[315. 计算右侧小于当前元素的个数](https://leetcode-cn.com/problems/count-of-smaller-numbers-after-self/)归并排序归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治策略(分治法将问题分(divide)成一些小的问题然后递归求解,而**治(conquer)**的阶段则将分...原创 2020-05-07 15:21:37 · 332 阅读 · 0 评论 -
leetcode 经典回溯算法题目(思路、方法、code)
用于回顾数据结构与算法时刷题的一些经验记录回溯与递归都要注意剪枝,避免重复计算回溯的问题,一定要把整个树图画出来,然后再去考虑如何缩小问题,还要注意恢复状态回溯算法的大致模板:根据这个模板,然后根据自己画出的树图,基本所有回溯问题都可以搞定。void backtrack(已经做的选择, 选择列表): if 当前达到了结束位置: result.pus...原创 2020-05-07 11:28:15 · 2357 阅读 · 0 评论 -
leetcode经典堆相关题目(思路、方法、code)
用于回顾数据结构与算法时刷题的一些经验记录堆的题目大多还是较为复杂的文章目录[215. 数组中的第K个最大元素](https://leetcode-cn.com/problems/kth-largest-element-in-an-array/)[347. 前 K 个高频元素](https://leetcode-cn.com/problems/top-k-frequent-elements/)...原创 2020-05-05 16:56:32 · 1700 阅读 · 0 评论 -
leetcode 经典栈相关题目(思路、方法、code)
用于回顾数据结构与算法时刷题的一些经验记录栈的题目还是稍微有些难度的文章目录[20. 有效的括号](https://leetcode-cn.com/problems/valid-parentheses/)[155. 最小栈](https://leetcode-cn.com/problems/min-stack/)[946. 验证栈序列](https://leetcode-cn.com/prob...原创 2020-05-04 13:16:31 · 1263 阅读 · 0 评论 -
leetcode 经典贪心算法题目(思路、方法、code)
用于回顾数据结构与算法时刷题的一些经验记录(提出对应的贪心算法时最好自己举例子试试能否可行)文章目录[455. 分发饼干](https://leetcode-cn.com/problems/assign-cookies/)[376. 摆动序列](https://leetcode-cn.com/problems/wiggle-subsequence/)[402. 移掉K位数字](https://...原创 2020-05-03 12:56:16 · 3993 阅读 · 1 评论 -
leetcode经典链表相关题目(思路、方法、code)
用于回顾数据结构与算法时刷题的一些经验记录(链表题目最好自己动手画一画,可以较为清晰地知道指针的处理)文章目录[206. 反转链表](https://leetcode-cn.com/problems/reverse-linked-list/)[92. 反转链表 II](https://leetcode-cn.com/problems/reverse-linked-list-ii/)160. [...原创 2020-05-01 21:13:33 · 611 阅读 · 0 评论 -
一文搞定并查集
一文搞定并查集并查集是什么?并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题,常常在使用中以森林来表示。并查集通常用来解决管理若干元素的分组问题并查集可以高效完成下列操作 (并与查的功能) :并:合并元素a和元素b所在的组查:查询元素a和元素b是否属于同一组并查集的结构并查集使用树形结构形成,实际上可以看作是森林如图所示,我们可以将左侧的分组以右侧的森林的形...原创 2020-02-13 09:54:54 · 1527 阅读 · 1 评论