力扣题目训练(16)

2024年2月9日力扣题目训练

  • 2024年2月9日力扣题目训练
    • 530. 二叉搜索树的最小绝对差
    • 541. 反转字符串 II
    • 543. 二叉树的直径
    • 238. 除自身以外数组的乘积
    • 240. 搜索二维矩阵 II
    • 124. 二叉树中的最大路径和

2024年2月9日力扣题目训练

2024年2月9日第十六天编程训练,今天主要是进行一些题训练,包括简单题3道、中等题2道和困难题1道。惰性太强现在才完成,不过之后我会认真完成的。

530. 二叉搜索树的最小绝对差

链接: 二叉搜索树的最小绝对差
难度: 简单
题目:
题目描述

运行示例:
运行示例

思路:
二叉搜索树的中序遍历是一个递增序列,利用这条性质,我们可以先得到一个序列,然后再找最小值。
代码:

class Solution {
private:vector<int> nums;
public:void inorder(TreeNode* root){if(root == NULL) return;inorder(root->left);nums.push_back(root->val);inorder(root->right);}int getMinimumDifference(TreeNode* root) {inorder(root);int ans = INT_MAX;for(int i = 1; i < nums.size(); i++){ans = min(ans,nums[i]-nums[i-1]);}return ans;}
};

541. 反转字符串 II

链接: 反转字符串
难度: 简单
题目:
题目描述

运行示例:
运行示例

思路:
这道题按照所述要求去完成即可。
代码:

class Solution {
public:string reverseStr(string s, int k) {int i = 0,n = s.size();while(i < n){reverse(s.begin()+i, s.begin() + min(i + k, n));i += 2 * k;}return s;}
};

543. 二叉树的直径

链接: 二叉树的直径
难度: 简单
题目:
题目描述

运行示例:
运行示例

思路:
我们知道**一条路径的长度为该路径经过的节点数减一,**所以求直径(即求路径长度的最大值)等效于求路径经过节点数的最大值减一。所以我们可以利用深度优先求左右子树的最大深度。
代码:

class Solution {
public:int ans = 0;int depth(TreeNode* root){if(root == NULL) return 0;int L = depth(root->left);int R = depth(root->right);ans = max(ans, L+R+1);return max(L,R) + 1;}int diameterOfBinaryTree(TreeNode* root) {depth(root);return ans-1;}
};

238. 除自身以外数组的乘积

链接: 乘积
难度: 中等
题目:
题目描述

运行示例:
运行示例

思路:
这道题试求乘积,但是有0的问题,所以我们独立将0记录,将剩余的乘起来,然后根据记录从而进行判断和处理。
代码:

class Solution {
public:vector<int> productExceptSelf(vector<int>& nums) {int mt = 1;int zero = 0;vector<int> ans;for(int i = 0; i < nums.size(); i++){if(nums[i] == 0) zero++;else mt *= nums[i];}for(int i = 0; i < nums.size(); i++){if(zero != 0){if(zero == 1 && nums[i] == 0) ans.push_back(mt);else ans.push_back(0);}else{ans.push_back(mt/nums[i]);}}return ans;}
};

240. 搜索二维矩阵 II

链接: 搜索二维矩阵
难度: 中等
题目:
题目描述

运行示例:
运行示例

思路:
这道题我本来是利用递归来做的结果时间超时了,看了官方的题解,我发现我忽略了升序这一点,我们可以利用这一性质,对每行进行二分查找判断。这道题值得吐槽的是直接遍历也可以不会超时╮(╯▽╰)╭。
代码:

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int n = matrix.size();int m = matrix[0].size();for(int i = 0; i < n; i++){int left = 0,right = m-1;while(left <= right){int mid = (right - left)/2+left;if(matrix[i][mid] == target) return true;else if(matrix[i][mid] < target) left = mid+1;else right = mid -1;}}return false;}
};

124. 二叉树中的最大路径和

链接: 最大路径和
难度: 困难
题目:
题目描述

运行示例:
运行示例

思路:
这道题本质就是遍历,我们需要计算二叉树中的一个节点的最大贡献值,具体而言,就是在以该节点为根节点的子树中寻找以该节点为起点的一条路径,使得该路径上的节点值之和最大。
代码:

class Solution {
private:int maxSum = INT_MIN;
public:int maxGain(TreeNode* root){if(root == NULL) return 0;int leftGain = max(maxGain(root->left),0);int rightGain = max(maxGain(root->right),0);int pricepath = root->val + leftGain + rightGain;maxSum = max(maxSum,pricepath);return root->val + max(leftGain,rightGain);}int maxPathSum(TreeNode* root) {maxGain(root);return maxSum;}
};

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

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

相关文章

Nginx学习笔记

Bilibili尚硅谷视频 Nginx 简介 Nginx 概述 Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理服务器&#xff0c;特点是占有内存少&#xff0c;并发能力强&#xff0c;能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数 。 正向代理 正向代理&#xff1a;如…

【千帆平台】使用千帆大模型平台创建自定义模型调用API,贺岁灵感模型,文本对话

欢迎来到《小5讲堂》 大家好&#xff0c;我是全栈小5。 这是《千帆平台》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对知识点的理解和…

镜像管理工具harbor启动在docker中,应该如何重启?

Harbor 是一个用于存储和分发 Docker 镜像的企业级Registry服务器。在 Docker 环境中启动和管理 Harbor 时&#xff0c;您可能需要重启服务来应用更新或配置更改。以下是在 Docker 中重启 Harbor 的步骤&#xff1a; 登录到服务器&#xff1a;首先&#xff0c;您需要通过 SSH 或…

神秘物品,从此告别网络焦虑!随身WiFi好用吗?随身WiFi怎么选?

出门在外&#xff0c;网络可是我们的“生命线”。不拿钱包不拿身份证没啥&#xff0c;不拿手机&#xff0c;没有网可是大大的坏事儿。为了一劳永逸的解决我的网络问题&#xff0c;这次我尝试了一款随身WiFi&#xff0c;来简单聊聊我的真实体验感受吧&#xff01; 一、优点&…

碳化硅模块使用烧结银双面散热DSC封装的优势与实现方法

碳化硅模块使用烧结银双面散热DSC封装的优势与实现方法 新能源车的大多数最先进 (SOTA) 电动汽车的牵引逆变器体积功率密度范围从基于 SSC-IGBT 的逆变器的 <10 kW/L 到基于 SSC-SiC 的逆变器的约 25 kW/L。100 kW/L 代表了这一关键指标的巨大飞跃。 当然&#xff0c;随着新…

热辣滚烫--如何让PCB上的固定螺丝孔沉下去

高速先生成员--王辉东 龙腾盛世,岁月如歌。祝大家开工大吉&#xff0c;热辣滚烫&#xff0c;红红火火,新的征程已然拉开帷幕。 林如烟和赵理工常听大师兄说&#xff0c;最近几年随着国内芯片行业的快速崛起&#xff0c;ATE工装治具和测试板的需求持续增大&#xff0c;由于芯片…

七、计算机视觉-图像的ROI区域

文章目录 1、什么是ROI2、ROI如何实现的3、一个案例总结 1、什么是ROI 在计算机视觉中&#xff0c;ROI代表感兴趣区域&#xff08;Region of Interest&#xff09;&#xff0c;它是指图像或视频中被指定为需要特别关注或处理的区域。ROI可以帮助减少计算量&#xff0c;并且在处…

TrueNAS磁盘扩容(VDEV 和 RAID 技术)

目录 背景扩容前准备扩容有风险安装新的硬盘到卡槽扩容测试一个VDEV两个VDEV 正式扩容关于Raid总结 背景 这几天将原来windows服务器上的文件拷贝到新做好的TrueNAS上&#xff0c;发现磁盘满了&#xff0c;服务器上还有硬盘卡槽&#xff0c;就新买了12块盘&#xff0c;准备扩容…

中国留学生被“虚拟绑架”?AI让电信诈骗更加逼真,我们该怎么识别?

目录 AI让电信诈骗如虎添翼 如何防范冒充熟人的电信欺诈&#xff1f; 近日&#xff0c;一起针对海外留学生群体的新型电信网络诈骗案引发关注。中国驻美国使馆发言人证实&#xff0c;一名疑似遭绑架的中国留学生实际上遭遇了“虚拟绑架”诈骗。 诈骗分子冒充公检法机关、使馆、…

vue通过获取url中的信息登录页面

在主界面获取到url的信息 html <script>let getRequest function () {var url location.href// 从 URL 中提取查询参数部分const queryParamsString url.split(?)[1];// 使用 URLSearchParams 解析查询参数const queryParams new URLSearchParams(queryParamsStrin…

ArcEngine开发arcToolbox中视域分析

(1)简介 (2)文档参考 Viewshed_sa <in_raster> <in_observer_features> <out_raster> {z_factor} {FLAT_EARTH | CURVED_EARTH} {refractivity_coefficient} ParameterExplanationData Type<in_raster>Input raster. Composite Geodataset<in…

通俗易懂的L0范数和L1范数及其Python实现

定义 L0 范数&#xff08;L0-Norm&#xff09; L0 范数并不是真正意义上的一个范数&#xff0c;因为它不满足范数的三角不等式性质&#xff0c;但它在数学优化和信号处理等领域有着实际的应用。L0 范数指的是向量中非零元素的个数。它通常用来度量向量的稀疏性。数学上表示为…

升级项目.Net Framework版本遇到错误

报错信息 Microsoft.Common.CurrentVersion.targets(1229, 5): [MSB3644] 找不到 .NETFramework,Versionv4.5,ProfileClient 的引用程序集。要解决此问题&#xff0c;请为此框架版本安装开发人员工具包(SDK/目标包)或者重新定向应用程序。可在 https://aka.ms/msbuild/develope…

【C语言】通讯录(静态版本+动态版本)思路解析+完整源代码

通讯录 由于代码比较长&#xff0c;为了增加可读性&#xff0c;分成了contact.h&#xff0c;contact.c&#xff0c;test.c&#xff0c;分别用来声明函数或者类型&#xff0c;实现函数功能&#xff0c;测试代码 contact.h 我们希望通讯录具有增加联系人&#xff0c;删除联系人…

2024年 前端JavaScript入门到精通 第一天 笔记

主要讲解JavaScript核心知识&#xff0c;包含最新ES6语法&#xff0c;从基础到API再到高级。让你一边学习一边练习&#xff0c;重点知识及时实践&#xff0c;同时每天安排大量作业&#xff0c;加深记忆&#xff0c;巩固学习成果。 1.1 基本软件与准备工作 1.2 JavaScript 案例 …

standalone安装部署

standalone是spark的资源调度服务&#xff1b;作用和yarn是一样的&#xff1b;standlone运行时的服务&#xff1a; master服务&#xff1b;主服务&#xff1b;管理整个资源调度&#xff1b;资源的申请需要通过master进行分配&#xff1b;类似于yarn里的ResourceManager;&#x…

v63.函数

1.初见函数 代码中有部分非常单纯/重复&#xff0c;可以将它取出来&#xff0c;制作成函数&#xff0c;而且可以反复调用。 代码复制是程序质量不良的表现。 可以使用函数优化代码&#xff0c;可以反复调用。 2.函数的定义和使用 函数整体由函数头&#xff0b;函数体组成函数…

【HarmonyOS】鸿蒙开发之prompt组件——第3.3章

prompt组件简介 prompt组件一共有三种弹出框: showToast&#xff08;&#xff09;showDialog&#xff08;&#xff09;showActionMenu&#xff08;&#xff09; 一.显示一个Toast showToast函数内参数说明如下: message&#xff1a;提示文本&#xff0c;必填项。 duratio…

【qt创建线程两种方式】

QT使用线程的两种方式 1.案例进度条 案例解析&#xff1a; 如图由组件一个进度条和三个按钮组成&#xff0c;当点击开始的时候进度条由0%到100%&#xff0c;点击暂停&#xff0c;进度条保持之前进度&#xff0c;再次点击暂停变为继续&#xff0c;点击停止按钮进度条停止。 案…

从可靠性的角度理解 tcp

可靠性是 tcp 最大的特点。常见的用户层协议&#xff0c;比如 http, ftp, ssh, telnet 均是使用的 tcp 协议。可靠性&#xff0c;即从用户的角度来看是可靠的&#xff0c;只要用户调用系统调用返回成功之后&#xff0c;tcp 协议栈保证将报文发送到对端。引起不可靠的表现主要有…