
C++
孜然羊肉串
hahahahha
展开
-
tinyxml2对换行符的处理
tinyxml2对换行符的处理原创 2023-02-19 19:31:38 · 547 阅读 · 0 评论 -
LeetCode之547. 朋友圈(并查集)
547. 朋友圈(并查集)题目分析(并查集)代码题目班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。示例 1:输入: [[1,1,0], [1,1,0],原创 2020-05-26 21:49:54 · 733 阅读 · 0 评论 -
LeetCode之84. 柱状图中最大的矩形(单调栈解法)
84. 柱状图中最大的矩形(单调栈解法)题目分析(单调栈解法)代码题目给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/largest-rectangle-in-histogram著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。分析(单调栈解法)单调栈概念参考https://zhuan原创 2020-05-26 21:31:41 · 427 阅读 · 0 评论 -
LeetCode之1155. 掷骰子的N种方法(附DP详细解析思考过程)
1155. 掷骰子的N种方法(DP)题目分析回溯法动态规划记录自己的思考DP解法代码一道动态规划题,虽然自己思考的方向有问题,但是还是值得记录一下,毕竟思考了。题目这里有 d 个一样的骰子,每个骰子上都有 f 个面,分别标号为 1, 2, …, f。我们约定:掷骰子的得到总点数为各骰子面朝上的数字的总和。如果需要掷出的总点数为 target,请你计算出有多少种不同的组合情况(所有的组合情况总共有 f^d 种),模 10^9 + 7 后返回。示例 1:输入:d = 1, f = 6, tar原创 2020-05-21 08:56:14 · 1467 阅读 · 1 评论 -
LeetCode之1129. 颜色交替的最短路径
1129. 颜色交替的最短路径题目分析(DFS)代码题目在一个有向图中,节点分别标记为 0, 1, …, n-1。这个图中的每条边不是红色就是蓝色,且存在自环或平行边。red_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的红色有向边。类似地,blue_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的蓝色有向边。返回长度为 n 的数组 answer,其中 answer[X] 是从节点 0 到节点 X 的最短路径的长度,且路径上红色边和蓝色边交替出现。如果不原创 2020-05-12 22:59:27 · 520 阅读 · 0 评论 -
LeetCode之113. 路径总和 II
113. 路径总和 II题目分析(DFS)代码题目给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:原创 2020-05-12 22:34:54 · 213 阅读 · 0 评论 -
LeetCode之567. 字符串的排列
567. 字符串的排列题目分析回溯法滑动窗口代码题目给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2:输入: s1= "ab" s2 = "eidboaoo"输出: False注意:输入的字符串只包含小写字母两个字符串的长度都在 [1, 10,000] 之原创 2020-05-12 22:18:22 · 468 阅读 · 0 评论 -
LeetCode之210. 课程表 II
210. 课程表 II题目分析代码题目现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]] 输出: [0,1]解释: 总共有 2 门课程。要学习课程 1,你需要先完成课程原创 2020-05-12 21:33:28 · 330 阅读 · 0 评论 -
LeetCode之1239. 串联字符串的最大长度(回溯法)
1239. 串联字符串的最大长度题目分析(回溯法)代码题目给定一个字符串数组 arr,字符串 s 是将 arr 某一子序列字符串连接所得的字符串,如果 s 中的每一个字符都只出现过一次,那么它就是一个可行解。请返回所有可行解 s 中最长长度。示例 1:输入:arr = ["un","iq","ue"]输出:4解释:所有可能的串联组合是 "","un","iq","ue","uniq" 和 "ique",最大长度为 4。示例 2:输入:arr = ["cha","r","act","ers原创 2020-05-10 10:46:15 · 447 阅读 · 0 评论 -
LeetCode之221. 最大正方形
题目在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximal-square著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。分析动态规划思想:将一个问题划分为N个子问题,逐个解析子问题,前一个子问题的输出作为下一个子问题原创 2020-05-10 10:17:22 · 650 阅读 · 0 评论 -
LeetCode之983. 最低票价
983. 最低票价题目分析(DP)代码题目在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0] 美元;一张为期七天的通行证售价为 costs[1] 美元;一张为期三十天的通行证售价为 costs[2]...原创 2020-05-08 08:51:34 · 316 阅读 · 0 评论 -
LeetCode之45. 跳跃游戏 II
45. 跳跃游戏 II题目分析树的最短路径树的最短路径BFS(加速版)贪心算法(最终版)代码题目给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位...原创 2020-05-07 22:28:57 · 293 阅读 · 0 评论 -
LeetCode之572. 另一个树的子树
572. 另一个树的子树题目分析未看题解前看了题解后代码题目给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2...原创 2020-05-07 21:42:25 · 171 阅读 · 0 评论 -
LeetCode之554.砖墙
554. 砖墙题目分析代码题目你的面前有一堵方形的、由多行砖块组成的砖墙。 这些砖块高度相同但是宽度不同。你现在要画一条自顶向下的、穿过最少砖块的垂线。砖墙由行的列表表示。 每一行都是一个代表从左至右每块砖的宽度的整数列表。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你需要找出怎样画才能使这条线穿过的砖块数量最少,并且返回穿过的砖块数量。你不能沿着墙的两个垂直边缘之一画线,这样显...原创 2020-05-04 22:22:44 · 440 阅读 · 0 评论 -
LeetCode之289.生命游戏
289.生命游戏问题分析代码问题根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置...原创 2020-05-04 22:00:56 · 340 阅读 · 0 评论 -
LeetCode之121 买股票的最佳时机题解记录
121.买卖股票的最佳时机问题分析代码问题给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖...原创 2020-05-04 21:36:14 · 417 阅读 · 0 评论 -
LeetCode之数组的度常规解法
题目数组的度给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度示例 1:输入: [1, 2, 2, 3, 1]输出: 2解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [...原创 2020-04-27 17:33:32 · 274 阅读 · 0 评论 -
C++ 常用结构,常用容器,常用算法
工欲善其事,必先利其器永远待更新!!!C++常用结构std::stringfind 函数substring函数front, back函数常用容器常用算法std::reversestd::sort常用结构std::stringstring应该是最常用的结构了,使用起来也比较简单std::string s;s = "123456";find 函数find函数可以返回该字符串的子...原创 2020-04-22 20:24:31 · 306 阅读 · 0 评论