![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode
leetcode刷题记录
七九河开
这个作者很懒,什么都没留下…
展开
-
leetcode 第 196 场周赛
第一次参加力扣的比赛,结果给忘记了,想起来的时候快结束了,只做了两个题,可惜可惜。 A 题目 给你一个数字数组 arr 。 如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 。 如果可以重新排列数组形成等差数列,请返回 true ;否则,返回 false 。 题解 排序: 对数组sort一下,求出公差,for一边判断一下。 不排序: 遍历一遍,记录MAX和MIN,并hash一下记录出现的元素,然后通过MAX, ...原创 2020-07-05 22:13:18 · 737 阅读 · 0 评论 -
leetcode 124. 二叉树中的最大路径和
题目 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 思路 简单题,dfs返回当前节点为一端的最大链。答案有两种情况,1 当前节点到子孙的一条链 2 当前节点为中端,两端为子孙。 class Solution { public: int MAX = INT_MIN; public: int maxPathSum(TreeNode* root) { maxPa原创 2020-06-30 23:19:31 · 99 阅读 · 0 评论 -
leetcode 55. 跳跃游戏
题目 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。 思路 1 暴力贪心,维护当前能到达的最远位置,若当前位置不可达,则失败。 class Solution { public: bool canJump(vector<int>&原创 2020-06-30 22:51:27 · 84 阅读 · 0 评论 -
剑指 Offer 54. 二叉搜索树的第k大节点
题目 给定一棵二叉搜索树,请找出其中第k大的节点。 题解 好久没打代码了,练练手,知识点题目,中序遍历。 递归 class Solution { public: int ans = 0; int cnt = 0; int kthLargest(TreeNode* root, int k) { dfs(root,k); return ans; } void dfs(TreeNode* root,int k){ if(roo原创 2020-06-30 22:25:35 · 2954 阅读 · 0 评论