剑指offer题解合集——Week4day1

文章目录

  • 剑指offerWeek4
    • 周一:二叉搜索树的后序遍历序列
      • AC代码
      • 思路:

剑指offerWeek4

周一:二叉搜索树的后序遍历序列

题目链接:二叉搜索树的后序遍历序列

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。数据范围
数组长度 [0,1000]样例
输入:[4, 8, 6, 12, 16, 14, 10]输出:true

AC代码

class Solution {
public:vector<int> seq;bool verifySequenceOfBST(vector<int> sequence) {seq = sequence;return dfs(0, sequence.size() - 1);}bool dfs(int l, int r){if (l >= r) return true;int root = seq[r];int k = l;while (k < r && seq[k] < root) k ++ ;for (int i = k; i < r; i ++ ) if (seq[i] < root) return false;return dfs(l, k - 1) && dfs(k, r - 1);}
};

思路:

整体思路

什么是二叉搜索树
以下简称左小右大:它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。此外,后序遍历就是序列的最后一个数值是根节点那么有:
- 找到根节点
- 根据左小右大原理,划分左右子树
- 右子树中如果出现小于根的数值,那么就返回false
- 如果没有就继续递归

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

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

相关文章

2024年【北京市安全员-C3证】复审考试及北京市安全员-C3证证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 北京市安全员-C3证复审考试考前必练&#xff01;安全生产模拟考试一点通每个月更新北京市安全员-C3证证考试题目及答案&#xff01;多做几遍&#xff0c;其实通过北京市安全员-C3证模拟考试题很简单。 1、【多选题】《…

使用scipy处理图片——任意比例缩放

大纲 缩小放大代码地址 在《使用numpy处理图片——缩放图片》一文中&#xff0c;我们每2个取1个像素来达到图像缩小的效果。这就要求缩小的比例只能是整数倍&#xff0c;而不能支持缩小到0.3倍或者放大到1.5倍这样的效果。 为了支持任意倍数的缩放功能&#xff0c;我们需要使用…

代码随想录算法训练营Day27|39. 组合总和、40.组合总和II、131.分割回文串

目录 39. 组合总和 前言 算法实现 剪枝优化 40.组合总和II 前言 算法实现 31.分割回文串 前言 算法实现 总结 39. 组合总和 题目链接 文章链接 前言 本题的组合求和对数组中的数字可以无限制重复选取&#xff0c;本题没有组合数量要求&#xff0c;仅仅是总和的限制&…

【方法】Excel表格如何“限制编辑区域”?

在制作Excel表格的时候&#xff0c;你是否遇到这些情况&#xff1f;有时候需要限定部分区域让他人协助填写&#xff0c;有时候会有很多数据或公式&#xff0c;要防止误改&#xff0c;否则会引起错误。要保护好这些区域&#xff0c;我们可以给Excel表格设置“限制编辑区域”。 …

微信小程序------WXML模板语法之条件渲染和列表渲染

目录 前言 一、条件渲染 1.wx:if 2. 结合 使用 wx:if 3. hidden 4. wx:if 与 hidden 的对比 二、列表渲染 1. wx:for 2. 手动指定索引和当前项的变量名* 3. wx:key 的使用 前言 上一期我们讲解wxml模版语法中的数据绑定和事件绑定&#xff08;上一期链接&#xff1a;…

PDF修改技巧之:如何简单方便的编辑PDF文件?

在当今精通技术的世界中&#xff0c;PDF 的使用已变得普遍&#xff0c;尤其是在商业和教育方面。如果您在审阅 PDF 文件时遇到语法或其他错误怎么办&#xff1f; 尽管 PDF 文件不像 Word 或在线文档那样容易编辑&#xff0c;但借助高级工具&#xff0c;您一定可以进行编辑。 …

MySQL的安装

一&#xff1a;MySQL的安装 步骤一&#xff1a; 下载mysql&#xff0c;地址&#xff1a;MySQL :: Download MySQL Installer 在MySQL的官网对其进行下载&#xff1a; 也可以下滑&#xff0c;在下面点击此社区服务器安装进行下载&#xff1a; 步骤二&#xff1a; 进入到下载…

Redis之bigkey

目录 1、什么是bigkey&#xff1f; 2、bigkey大的小 3、bigkey有哪些危害&#xff1f; 4、bigkey如何产生&#xff1f; 5、bigkey如何发现&#xff1f; 6、bigkey如何删除&#xff1f; 7、BigKey调优&#xff0c;惰性释放lazyfree 8、生产上限制keys * /flushdb/flushal…

ERP简要数据模型

1. 人力资源管理模块数据模型&#xff1a; -- 创建员工信息表 CREATE TABLE employee (employee_id INT PRIMARY KEY AUTO_INCREMENT,first_name VARCHAR(50) NOT NULL,last_name VARCHAR(50) NOT NULL,gender ENUM(Male, Female, Other),birth_date DATE,email VARCHAR(100),…

前端导致浏览器奔溃原因分析

内存泄漏 内存泄漏&#xff08;Memory Leak&#xff09;是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放&#xff0c;造成系统内存的浪费&#xff0c;导致程序运行速度减慢甚至系统崩溃等严重后果。&#xff08;程序某个未使用的变量或者方法&#xff0c;长期占…

使用WAF防御网络上的隐蔽威胁之CSRF攻击

在网络安全领域&#xff0c;除了常见的XSS&#xff08;跨站脚本&#xff09;攻击外&#xff0c;CSRF&#xff08;跨站请求伪造&#xff09;攻击也是一种常见且危险的威胁。这种攻击利用用户已经验证的身份在没有用户知情的情况下&#xff0c;执行非授权的操作。了解CSRF攻击的机…

Vue:webStorage简介

一、存储 存储内容大小一般支持5MB左右&#xff08;不同浏览器可能还不一样&#xff09; 浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。 二、API xxxxxStorage.setItem(key, value); 该方法接受一个键和值作为参数&#xff0c;会把…

python多版本工具miniconda的配置优化

conda比较重&#xff0c;所以我用了miniconda&#xff0c;切换python版本也足够方便。 安装miniconda的步骤请自行搜索。 1.添加path环境变量 如下三个路径添加到path环境中&#xff0c;前缀按实际情况修改 miniconda安装目录 miniconda安装目录\Scripts miniconda安装目录\…

2.3数据链路层01

2.3数据链路层 2.3.1数据链路层概述 1、数据链路层在网络体系结构中所处的地位 如下图所示&#xff1a;主机H1给主机H2发送数据&#xff0c;中间要经过三个路由器、电话网、局域网、广域网等多种网络。 从五层协议原理体系结构的角度来看&#xff0c;主机应该具有体系结构中…

数据结构初阶之插入排序与希尔排序详解

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 Linux 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力,共赴大厂。 目录 一.前言 二.插入排序 …

深入浅出Pytorch宝典1.0

文章目录 前言1. 张量操作2. 自动微分3. 数据加载和处理4. 模型构建和训练5. 预训练模型和迁移学习6. 调试和性能7. 高级特性总结 torch中主要的数据对象主要特点和功能张量的创建 数据处理和转换1.torch.tensor() 创建一个新的张量&#xff08;Tensor&#xff09;2.torch.zero…

YOLOv8训练自己的数据集

文章目录 1. 创建数据集文件结构数据集标注脚本分割数据集转换数据格式 2. 配置文件2.1 数据集配置2.2 选择需要的模型 3. 模型训练4. 测试 1. 创建数据集 环境&#xff1a; Ultralytics YOLOv8.0.230 &#x1f680; Python-3.8.18 torch-2.3.0.dev20231226cu118 CUDA:0 (NVIDI…

嵌入式linux_C应用学习之API函数

1.文件IO 1.1 open打开文件 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);pathname&#xff1a;字符串类型&#xff0c;用于标…

代码随想录算法训练营第六天| 哈希表理论基础、242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

常见的三种哈希结构&#xff1a;vector数组、set &#xff08;集合&#xff09;、map(映射) 哈希表理论基础 常见的三种哈希结构&#xff1a;vector数组、set &#xff08;集合&#xff09;、map(映射) 242.有效的字母异位词 固定类别的存储内查找用固定大小的vector&#xff1…

Pandas实战100例 | 案例 49: 数值运算

案例 49: 数值运算 知识点讲解 Pandas 提供了进行基本数学运算的简便方法&#xff0c;允许你在 DataFrame 的列之间执行加法、减法、乘法和除法等操作。 数值运算: 直接对 DataFrame 的列应用算术运算符&#xff08;, -, *, /&#xff09;可以执行相应的数值运算。 示例代码…