
Leetcode
SCS199411
这个作者很懒,什么都没留下…
展开
-
Leetcode动态规划
Leetcode动态规划198.打家劫舍class Solution {public: int rob(vector<int>& nums) { if(nums.empty()) return 0; int n = nums.size(); if(n == 1) return nums[0]; vector<int> dp(n, 0);原创 2021-08-01 19:36:21 · 253 阅读 · 0 评论 -
Leetcode-二叉树
Leetcode-二叉树98.验证二叉搜索树98.验证二叉搜索树class Solution {public: bool isValidBST(TreeNode* root) { if(!root) return true; vector<int> res = order_traversal(root); for(int i = 1; i < res.size(); ++i){原创 2021-07-25 19:06:52 · 267 阅读 · 1 评论 -
Leetcode547——朋友圈
题目描述班上有N名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知A是B的朋友,B是C的朋友,那么我们可以认为A也是C的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个N*N的矩阵M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第i个和j个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。示例 1:输入:[[1,1,0],...原创 2019-08-19 09:14:37 · 191 阅读 · 0 评论 -
Leetcode207—课程表
题目描述现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的...原创 2019-08-11 20:03:50 · 467 阅读 · 0 评论 -
Leetcode215——数组中第K大的数
题目描述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。思路一 利用优先队列clas...原创 2019-08-26 20:46:03 · 259 阅读 · 0 评论 -
Leetcode121-123——买卖股票
Leetcode121 只能交易一次给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 ...原创 2019-08-30 13:29:59 · 234 阅读 · 0 评论