数据结构与算法
xukang95
技术改变命运!
展开
-
Leetcode 94 二叉树的中序遍历
方法1、暴力递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullp.原创 2021-05-18 21:53:39 · 264 阅读 · 1 评论 -
Leetcode 84 柱状图中最大的矩形
更加丰富内容可查看我的个人博客:xukang’s blog做题感受:弄清楚暴力算法往往是得到优化算法的第一步对于这道题,不仅仅满足于掌握单调栈的优化算法,更重要的是,先把暴力算法弄懂,弄透,想想暴力算法的不足之处。想想这些不足该怎么优化办法,感受学习人家的优化方法。这样才能够真正弄懂优化算法优化了什么,才能感受到优化算法的妙处,与这道题相似的接雨水,其优化算法相对比较有跳跃性!不像这道题循序渐进,容易理解优化算法。我们需要在柱状图中找出最大的矩形,因此我们可以考虑枚举矩形的宽和高,其原创 2020-10-24 10:42:56 · 114 阅读 · 0 评论 -
Leetcode 42 接雨水
更加丰富内容可查看我的个人博客:xukang’s blog方法1、暴力对于数组中的每个元素,我们找出下雨后水能达到的最高位置,等于两边最大高度的较小值减去当前高度的值。int trap(vector<int>& height){ int ans = 0; int size = height.size(); for (int i = 1; i < size - 1; i++) { int max_left = 0, max_rig原创 2020-10-23 22:21:17 · 103 阅读 · 0 评论 -
Leetcode 200 岛屿数量
这道题其实就是图的遍历,将值为“1”的元素组成一个无向图,遍历这个无向图方法1、DFS设目前指针指向一个岛屿中的某一点 (i, j),寻找包括此点的岛屿边界。从 (i, j) 向此点的上下左右 (i+1,j),(i-1,j),(i,j+1),(i,j-1) 做深度搜索。终止条件:(i, j) 越过矩阵边界; grid[i][j] == 0,代表此分支已越过岛屿边界。搜索岛屿的同时,执行 grid[i][j] = '0',即将岛屿所有节点删除,以免之后重复搜索相同岛屿。/*..原创 2020-10-22 21:47:43 · 122 阅读 · 0 评论 -
Leetcode 11 盛水最多的容器
方法1、双循环枚举时间复杂度 O(N^2)class Solution {public: int maxArea(vector<int>& height) { int res = 0; for (int i = 0; i < height.size() - 1; i++) { for (int j = i + 1; j < height.size(); j++) { re..原创 2020-10-21 15:27:49 · 80 阅读 · 0 评论 -
Leetcode 15 三数之和
这道题是 两数之和 的升级,但输出有区别!两数之和 题目要求输出的是下标组合,但只需要输出一种情况。三数之和 题目要求输出的所有可能的不重复的三元组。 并不是下标。怎么样把重复的三元组过滤掉是这道题的难点!方法1、暴力搜索遍历每一个元素 x, 是否能找到两个数y, z 使得 y + z = -x时间复杂度 O(N^3)暴力算法看似简单,但是要处理好重复元祖问题,好像并没有那么容易看了一个精选题解,一个基本暴力三重循环都没写对,一群人说好!但是也有人发现了bug,估计是喷的人也多,所以..原创 2020-10-20 09:19:08 · 134 阅读 · 0 评论 -
Leetcode 1 两数之和
对于这道题,首先题目给出一个注意点:一个数只能用一次!但是并不代表数组没有重复元素!所以这算是这道题需要考虑的另一个注意点:重复元素怎么办?map存储只能存储一个是否对这道题有用呢?这道题虽然看似简单,但是有一些细节的地方需要考虑清楚,在leetcode评论区,我发现好多人都没有真正理解两遍hash和一遍hash这两种方法,还有人甚至理解不能重复使用元素就是没有重复元素!真是可笑。还说两遍hash和一遍hash这两种方法不能在有重复元素的情况下就会出错!一个个都没理解到位,就在那瞎评论!可笑!你..原创 2020-10-19 16:57:22 · 87 阅读 · 0 评论