算法
文章平均质量分 83
我想问问天
欢迎访问我的github地址:https://github.com/wxwwt
segmentfault:https://segmentfault.com/u/wxwwt
公众号:我想问问天(关注领取学习资料)
展开
-
单调栈介绍和使用
今天来讲一下单调栈,它定义是非常简单的,首先栈是一种先进后出、后进先出的数据结构。而单调栈,就是说栈中的元素是的。它主要用来解决的问题:找到前一个或者后一个的最大或者最小元素。属于一种空间换时间的思想,通常用来把O(n^2)的时间复杂度降低到O(n)。典型的做法:假设我们是要找比当前元素大的元素,那么栈内的元素就是递增的(从栈顶往栈底方向)。当元素大于栈顶的元素,就把栈顶的元素给替换成当前元素;当元素小于等于栈顶元素,就直接入栈。这样处理后,栈内就一直保持着一个从栈顶往栈底方向递增的单调栈。原创 2023-10-06 19:25:50 · 157 阅读 · 0 评论 -
并查集介绍和常用模板
并查集(Union-find set 也叫Disjoint Sets)是图论里面一种用来判断节点之间是否连通的数据结构,学会使用它可以处理一些跟节点连通性的问题。它有两个很重要的方法:Find(x):查找x的父元素Union(x,y):将x,y两个对应的集合合并到一起接下来我们先看一个例子,看看怎么判断节点之间是否相连,怎么把两个集合合并到一起:先看第一个问题,怎么判断两个节点是否相连?原创 2023-09-10 22:35:48 · 226 阅读 · 0 评论 -
leetcode-7022 限制条件下元素之间的最小绝对差
这道题是358周赛的第三题,当时没做出来,后来弄明白了,记录一下。原创 2023-08-13 23:15:42 · 231 阅读 · 0 评论 -
要不要一起组队刷题呀leetcode19题
导语最近跟几个同学一起建了一个刷题的群,相互学习学习,就写写题解,推广推广吧。(虽然我知道并没有啥粉丝)这个算一篇发起刷题的文章吧,文章流程是写了leetcode的一个题解,为后面建群学习抛砖引玉,然后建了一个leetcode刷题的群,咱们可以相互监督,相互解答,相互提高自己的算法水平,开阔思路。毕竟程序就是算法加数据结构,而刷题能很大程度的提高咱们算法和数据结构的熟练度和让自己变得更聪明。...原创 2020-03-29 21:13:51 · 257 阅读 · 1 评论 -
leetcode53 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。题解:解法一:动态规划首先读完...原创 2019-11-03 17:22:10 · 138 阅读 · 0 评论