【LeetCode】HOT 100(16)

news2024/11/27 0:18:38

题单介绍:

精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。

目录

题单介绍:

题目:124. 二叉树中的最大路径和 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

题目:128. 最长连续序列 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

写在最后:


题目:124. 二叉树中的最大路径和 - 力扣(Leetcode)

题目的接口:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    int maxPathSum(TreeNode* root) {

    }
};

解题思路:

这道题的思路并不算难,可以说不算是一道合格的困难题,

直接用搜索去做就行,

题目的核心思路是:

1. 寻找最大路径和

2. 根据题意,当我们走到一个节点上之后,最大的路径和是:左节点 + 当前节点 + 右节点 的和 

3. 左节点的值等于 左节点本身的值 + 他自己的左节点的值,右节点思路相同

4. 所以当前节点需要返回给上一个节点的值就是 自己本身的值 + max(左节点,右节点)

5. 当然,如果出现路径和<0的情况就可以置空重新计算了。

那么代码如下:

代码:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    //最大路径和
    int sumMax = INT_MIN; 
    int maxPathSum(TreeNode* root) {
        calSum(root);
        return sumMax;
    }
private:
    int calSum(TreeNode* root) {
        if(root == nullptr) return 0;

        //接收左右节点的最大值
        int left = max(calSum(root->left), 0);
        int right = max(calSum(root->right), 0);

        //计算当前的最大路径和
        int MaxSum = root->val + left + right;

        //更新最大路径和
        sumMax = max(sumMax, MaxSum);

        //返回的值是给前面的接收节点最大值接收的
        return root->val + max(left, right);
    }
};

过过过过啦!!!!

题目:128. 最长连续序列 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    int longestConsecutive(vector<int>& nums) {

    }
};

解题思路:

这道题我一开始在想直接sort

但是他要求要O(N),我又想要用哈希来做,

但是有点不知道咋用,

主要思路如下:

遍历整个哈希,如果遇到一个没有与上一个数联结的数,就求出序列长度并更新长度,

没有与上一个数联结的数:比如说:遍历到数字2,如果没有1,这个就是没有与上一个数联结的数

代码如下:

这里补充一点:

count这个接口,是如果找到这个数就返回1,否则返回0

代码:

class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        unordered_set<int> st;
        for(auto e : nums) st.insert(e);
        int ans = 0;
        for(auto k : st) {
            if(!st.count(k - 1)) {
                int y = k;
                while(st.count(y + 1)) y++;
                ans = max(ans, y - k + 1);
            }
        }
        return ans;
    }
};

过过过过啦!!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/662456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

英特尔发布12Q CMOS量子芯片

光子盒研究院 今天&#xff0c;英特尔公司发布了一种在主流CMOS工艺技术上构建的具有12个量子比特的量子芯片——Tunnel Falls。 Tunnel Falls测试芯片栖息在指尖上 Tunnel Falls量子芯片由12个量子点&#xff08;或单电子晶体管&#xff09;构建&#xff0c;可配置4至12个基于…

嵌入式 QT usb camera库驱动摄像头

目录 前言 ​编辑 1. 交叉编译 ffmpeg 1.1 先拿到ffmpeg的压缩包 1.2 把ffmpeg源码复制到虚拟机&#xff0c;并解压压缩包 1.3 解压之后我们要进入到解压文件中进行编译成库 1.5 make 1.6 make install 2.usbcame库使用 2.1 获取usbcame库并解压 2.2 解压完成后我们…

zabbix-3-agent安装

1.CentOS release 5 1-1.centos5 32位 [rootLV zabbix]# cat /etc/redhat-release CentOS release 5 (Final) [rootLV zabbix]# uname -a Linux LV 2.6.18-53.el5xen #1 SMP Mon Nov 12 03:26:12 EST 2007 i686 i686 i386 GNU/Linux确定了系统centos5 32位rpm方式安装&#…

【深度学习】3-1 神经网络的学习- 学习基础/损失函数

学习基础 神经网络的学习。这里所说的“学习”是指从训练数据中自动获取最优权重参数的过程。 神经网络的特征就是可以从数据中学习。所谓“从数据中学习”&#xff0c;是指可以由数据自动决定权重参数的值。 数据驱动 数据是机器学习的命根子。从数据中寻找答案、从数据中发…

接口测试框架之APIAutoTest框架

目录 前言 框架简介 框架介绍 框架技术栈图 框架组件图 框架执行流程图 测试用例设计 测试报告 结语 前言 APIAutoTest框架是一款基于Python语言和unittest框架的API自动化测试框架。它可以帮助测试人员快速搭建API测试环境&#xff0c;并通过代码自动化实现API的测试…

每年降本100万元+!企业研发管理可以这样做....

随着市场的定制化需求越来越多&#xff0c;非标设计越来越多&#xff1b;订单交付周期要求短&#xff0c;导致设计人员的设计周期进一步压缩&#xff0c;设计准确率的重要性进一步提升&#xff0c;这些都对企业研发管理提出了更严峻的挑战。 本期干货内容分享 装备制造企业研发…

计算机网络基础学习指南

前言 计算机网络基础是研发/运维工程师都需掌握的知识&#xff0c;但往往会被忽略。 今天&#xff0c;我将对计算机网络基础学习进行详细阐述&#xff0c;涵盖 TCP / UDP协议、Http协议、Socket等&#xff0c;希望你们会喜欢。 1、计算机网络体系结构 1.1 简介 定义 计算机…

Linux基础学习之目录结构、ls命令

1、win系统可能有多个盘&#xff0c;那么就会对应多个文件树&#xff0c;但是Linux系统只有一个文件树&#xff0c;对应的也只有一个根目录&#xff0c;叫做 / 。 2、win与Linux表示层级关系的斜杠的方向不同&#xff0c;一个是斜杠&#xff0c;一个是反斜杠&#xff0c;Linux…

Three.js3D可视化介绍,以及本地搭建three.js官网

一、什么是Three.js three.js官网&#xff1a;https://threejs.org/ Three.js是一个基于WebGL的JavaScript 3D图形库&#xff0c;它可以轻松地在浏览器中创建3D场景和动画。同时&#xff0c;它支持外部模型和纹理的导入&#xff0c;让开发者可以更加便捷地创建出震撼的3D场景…

详细的聊一聊如何使用响应式图片,提升网页加载速度

开篇 确保图片在所有屏幕尺寸上都能良好显示是一项困难的任务&#xff0c;因为你需要考虑图片的大小、图片的放置位置、显示图片的比例、用户连接的速度等等众多因素。结果是&#xff0c;大多数开发者只会为所有屏幕尺寸使用同一张图片&#xff0c;并让浏览器调整图片的大小以适…

【SCI征稿】仅1个月22天录用,极速录用见刊,可接受智能交通,自动驾驶汽车,新型智能算法,智能交通系统,安全运输,交通拥堵等领域

智能算法类SCIE&EI ◆ 影响因子&#xff1a;4.0-5.0 ◆ 期刊分区&#xff1a;JCR2区&#xff0c;中科院3区 ◆ 检索情况&#xff1a;SCIE&EI 双检&#xff0c;正刊 ◆ 征稿领域&#xff1a;智能算法在智能交通中的应用&#xff0c;包括自动驾驶汽车、新型智能算法、…

20个ArcGIS Pro 提示和技巧

ArcGIS Pro是最通用的GIS软件在当今的行业中。为了帮助你充分利用ArcGIS Pro&#xff0c;我们整理了一份20个提示和技巧。 这些技巧包括从基本的定制选项到高级地理空间分析和数据可视化技巧。 链接地图视图 在ArcGIS Pro中链接视图有助于同步显示一个项目中的多个地图或场景…

java项目之汉服文化平台网站(ssm+vue)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的汉服文化平台网站。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风歌&…

2017年全国硕士研究生入学统一考试管理类专业学位联考写作试题

2017年1月真题 四、写作&#xff1a;第56~57小题&#xff0c;共65 分。其中论证有效性分析30 分&#xff0c;论说文35分。 56、论证有效性分析&#xff1a; 分析下述论证中存在的缺陷和漏洞&#xff0c;选择若干要点&#xff0c;写一篇600字左右的文章&#xff0c;对论证的有…

GPT提示词系统学习-第二课-使用GPT帮你“填表格”

开篇 前面我们说到了GPT的提示词使用的好不好对你可以得到精准的答案是至关重要的。今天我们来看看,GPT中如何使用提示词来帮助我们填一个表格。 参照样本让GPT制作可填表格 请阅读以下销售邮件。删除任何可用于识别个人身份的信息 (PII),并用相应的占位符替换它。 例如,…

BIO-NIO-AIO案例

BIO-NIO-AIO案例 1、BIO编程 BIO 有的称之为 basic(基本) IO,有的称之为 block(阻塞) IO&#xff0c;主要应用于文件 IO 和网络 IO&#xff0c; 这里不再说文件 IO, 大家对此都非常熟悉&#xff0c;本次课程主要讲解网络 IO。 在 JDK1.4 之前&#xff0c;我们建立网络连接的时…

endnotex9 在word中插入参考文献遇到的问题

添加超链接 在EndNote X9中点击如下按钮 勾选如图所示选项后确认即可 找到插入文献的上标&#xff0c;按住“Ctrl”后鼠标点击即可跳转到对应文献 修改文献添加位置 先使用endnote插入一篇文献&#xff0c;然后到达插入文献的位置&#xff0c;右键点击。 选择切换域代码 将其…

国内首个,Postcat 上线 AI 生成 API 功能,写接口动几下就行

近期AI风潮席卷全球&#xff0c;Postcat 作为新一代 API 生产力工具&#xff0c;从发布的第一天起就在思考如何通过AIAPI以及插件化架构来更好的满足开发者的需求。 今天我们很高兴的向大家宣布&#xff0c;Postcat.com 正式上线 AI 生成 API 的功能&#xff0c;并且是国内首个…

【GO】 32.pprof

一 . 添加引用启动项目访问指标页面 1.1 在main程序添加pprof引用&#xff0c;并启动网页 "net/http" _ "net/http/pprof" go func() {log.Println(http.ListenAndServe(":6060", nil)) }() 1.2 访问pprof页面 http://127.0.0.1:6060/debug/…

10.MyBatis逆向工程

MyBatis逆向工程 正向工程&#xff1a;先创建Java实体类&#xff0c;由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。 逆向工程&#xff1a;先创建数据库表&#xff0c;由框架负责根据数据库表&#xff0c;反向生成如下资源&#xff1a; Java实体类Mapper接口M…