摘要:deque 与 vector queue的区别在于 他可以双向操作,在队头和队尾都可以插入和弹出 常用的函数有 push_front() push_back pop_front() pop_back() front() back() size() empty() 我们以 HDU 6375为例子,讲解
阅读全文
摘要:queue 队列数据结构 只支持从队前端弹出元素pop,队尾端插入数据push.不支持下标索引访问。 类函数比较少 push() pop() size() front() empty() 但是他是BFS 广度优先搜索的基础。 这里以poj 1915 为例子,演示在BFS中如何使用queue poj
阅读全文
摘要:HDU 3527 https://vjudge.net/problem/HDU-3527 继续上一题 这题还可以使用map解答 map 是一个将独一无二的键值与数值对应的数据结构,方便查找。 c++ stl中的map实现是树结构,所以存储的键值是有次序的排列。 还有另一种键值与数值对应的数据结构 u
阅读全文
摘要:这是算法训练营这本书 STL应用的第一个点 使用vector 我们看看cppference这个站点对vector的介绍 https://en.cppreference.com/w/cpp/container/vector 常用的函数如下 | operator= | | operator[] | |
阅读全文
摘要:在刷Leetcode的过程中,发现一个问题。如果按照题号来刷会遇到使用同一种算法的不同题目,如果不详细讲解就梳理的不够清晰,但是如果每次遇到相同类型讲解就太冗余。 于是萌生了按照专题讲解知识点的想法,找到了以下这本书。 本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技
阅读全文
摘要:以Leetcode题目 200. 岛屿数量 为例 展示BFS代码 题目如下 https://leetcode-cn.com/problems/number-of-islands/ 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只
阅读全文
摘要:假设有以下需求 需求如下: 使用二进制表示某个游戏类型 游戏A(麻将) 0x00000001 (二进制的0001) 游戏B(扑克) 0x00000002 (二进制的0010) 癞子 0x00000004 (二进制的0100) 三人类型 0x00000008 (二进制的1000) 四人类型 0x000
阅读全文
摘要:地址 https://leetcode-cn.com/problems/candy/ 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 评分更高的孩子必须比他两侧的邻位
阅读全文
摘要:地址 https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii/ 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意:你不能同
阅读全文
摘要:地址 https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交
阅读全文
摘要:地址 https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个
阅读全文
摘要:地址 https://leetcode-cn.com/problems/triangle/ 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。
阅读全文
摘要:地址 https://leetcode-cn.com/problems/pascals-triangle/ 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1
阅读全文
摘要:地址 https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/ 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。 同一个节点在一条路径序列中 至多出现一次 。 该路径 至少包含一个 节点,且不一定经过
阅读全文
摘要:地址 https://leetcode-cn.com/problems/distinct-subsequences/ 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串
阅读全文
摘要:地址 https://leetcode-cn.com/problems/maximum-ice-cream-bars/ 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑。 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格。
阅读全文