算法练习----力扣每日一题------5

原题链接

894. 所有可能的真二叉树 - 力扣(LeetCode)

题目解析

        给一个整数,返回所有可能的真二叉树vector<TreeNode*>类型,每棵树的val都必须为0

        真二叉树:每个节点都有零个或两个元素


解题思路

        要求一个含有n个节点的真二叉树,可以直接从根节点往下递归,也可以先求出一些较小数字对应的二叉树,再由较小的二叉树拼接成大叉树。

从思路上,显然第二种方法更好写一些,不过它会需要使用更多的内存空间。我这边使用的是第二种写法。

dp数组用来存放从1到n(奇数)的全部合法返回值

class Solution {
public:vector<TreeNode*> allPossibleFBT(int n) {vector<vector<TreeNode*>>dp(n + 1);dp[1] = { new TreeNode(0)};for (int i = 1; i <= n; i += 2){for (int j = 1; j < i; j += 2) {for (auto left : dp[j]){for (auto right : dp[i - j - 1]){TreeNode* tmp = new TreeNode();tmp->left = left;tmp->right = right;dp[i].push_back(tmp);}}}}return dp[n];}
};

关于时间复杂度和空间复杂度

        我看了几个题解,大伙差不多的解法算出来的不怎么统一,我水平不算高,就不在这班门弄斧了,(ps:力扣官方给的空间复杂度是o(1),这光dp里就有n+1个vector,属实是离谱了)。

感谢观看!!!!

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

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

相关文章

网路维护基础知识

1、路由器 路由器&#xff1a;路由器就是将一个可以接入互联网的网路地址分成若干个网路地址可供终端设备连接的网路设备&#xff0c;设备既可以通过有线连接也可以通过无线连接进入互联网 2、交换机 交换机&#xff1a;个人感觉交换机只是为那些有线网路设计的&#xff0c;…

js-Vue创建公共的JavaScript工具类

Vue前端项目中创建了一个公共的JavaScript工具类&#xff0c;并定义了一些公共方法后&#xff0c;可以在需要的组件中引用并调用这些公共方法。 1.创建一个名为 utils.js 的JavaScript文件&#xff0c;定义一个公共的工具类&#xff0c;包含一个用于计算平方的方法&#xff1a;…

与汇智知了堂共舞,HW行动开启你的网络安全新篇章!

**网安圈内一年一度的HW行动来啦&#xff01; ** 招募对象 不限&#xff0c;有HW项目经验 或持有NISP二级、CISP证书优先 HW时间 以官方正式通知为准 工作地点&#xff1a;全国 薪资待遇 带薪HW &#xff08;根据考核成绩500-4000元/天不等&#xff09; 招募流程 1.填写报名…

2024-4-7

今日流水账&#xff1a; 早上突然收到了腾讯科恩实验室的 HR 面试邮件&#xff0c;挺开心的&#xff0c;然后准备了一上午&#xff0c;下午面试下面面试不到15分钟就草草结束了&#xff0c;感觉应该是寄了 记录一下今日自己的心得吧&#xff1a; 由于是第一次 HR 面试&#…

供应链领域主题:生产制造关键术语和系统

BOM&#xff08;Bill of Material&#xff09;物料清单 BOM&#xff08;Bill of Material&#xff09;物料清单&#xff0c;是计算机可以识别的产品结构数据文件&#xff0c;也是ERP的主导文件。BOM使系统识别产品结构&#xff0c;也是联系与沟通企业各项业务的纽带。ERP系统中…

【QT教程】QT6 WebSocket编程

QT6 WebSocket编程 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免…

国内通稿在海外新闻媒体如何宣发-大舍传媒

引言 在全球化的时代背景下&#xff0c;海外通稿成为了新闻媒体间交流和宣发的重要方式之一。本文将探讨海外通稿在新闻媒体中的宣发方式&#xff0c;并分析大舍传媒在这方面的成功经验。 来百度APP畅享高清图片 海外通稿的重要性 海外通稿是指由海外记者或通讯社撰写的报道…

JavaScript - 你知道数组去重都有哪些实现方案吗

难度级别:初级及以上 提问概率:70% 数组去重是一道非常经典而又高频的面试题,这里我们提出6种解决方案: 目录 1 第一种 2 第二种 3 第三种 4 第四种

携程API接口与旅游大数据的结合

携程API接口与旅游大数据的结合 随着旅游行业的蓬勃发展&#xff0c;大数据已经成为旅游企业制定战略、优化服务、提升用户体验的重要工具。而携程作为国内领先的在线旅游平台&#xff0c;其API接口为旅游大数据的获取和应用提供了有力的支持。本文将探讨携程API接口与旅游大数…

C++之eigen库学习

Eigen是一个高性能的C模板库&#xff0c;专门用于线性代数、矩阵和向量运算。该库提供了一系列的类和函数&#xff0c;使开发者能够轻松进行各种数学计算&#xff0c;如矩阵乘法、矩阵分解&#xff08;如QR分解、奇异值分解等&#xff09;、特征值计算、求解线性方程组等。 以…

Codigger Desktop:用户体验与获得收益双赢的革新之作(一)

上周&#xff0c;我们介绍了Codigger Desktop凭借其强大的功能、稳定的性能以及人性化的设计&#xff0c;成为了广大开发者的得力助手。Codigger Desktop除了是开发者的利器外&#xff0c;它以其出色的用户体验和创新的收益模式&#xff0c;为用户提供了一个全新的选择。Codigg…

基于LNMP环境上线QQ农场

目录 一.介绍 二. 环境准备 三.安装Mysql数据库 四.安装PHP 五.安装Nginx 六.测试Nginx服务于PHP服务是否能关联 七.项目上线 QQ农场源码&#xff1a;做本项目默认操作者有一定的基础知识与理解能力 链接&#xff1a;https://pan.baidu.com/s/1HF8GZ-yvNh7RbJ61nXOW-g?…

【Django开发】0到1美多商城项目md教程第6篇:账号登录,1. 用户名登录逻辑分析【附代码文档】

美多商城完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;欢迎来到美多商城&#xff01;&#xff0c;项目准备。展示用户注册页面&#xff0c;创建用户模块子应用。用户注册业务实现&#xff0c;用户注册前端逻辑。图形验证码&#xff0c;图形验证码接口设…

常用日常脚本

日常脚本 1&#xff1a;主机初始化脚本 通用脚本&#xff1a; curl -s http://内网ip:3333/soft/shell/init/init_vm.sh |sh 以下是单一功能脚本 2&#xff1a;定时检测dns&#xff0c;并修改为固定dns curl -s http://内网ip:3333/soft/shell/init/deploy_dns_product.sh | s…

【漏洞复现】泰博云平台 solr SSRF漏洞

0x01 产品简介 泰博云平台,就是指以电商集群的方式,通过供应链有效连接组成“商务云”生态系统,在产品、服务、营销推广等方面实现资源共享,“物”就是线下实体店网络,以众包模式,将行业制造商、分销商、零售商,和提供本土化设计、物流、安装的优质服务商,纳入统一的云…

Java 异常处理

什么是异常&#xff1f; 程序运行时&#xff0c;发生的不被期望的事件&#xff0c;它阻止了程序按照程序员的预期正常执行&#xff0c;这就是异常。异常发生时&#xff0c;是任程序自生自灭&#xff0c;立刻退出终止&#xff0c;还是输出错误给用户&#xff1f;或者用C语言风格…

lego-loam代码解析(2)-自用

学习文章&#xff1a; [1]LeGO-LOAM分析之建图&#xff08;三&#xff09; [2] LeGo-LOAM 源码解析-WinFrom控件库 [3] LeGO-LOAM批注版 [4]LeGO-LOAM 源码阅读笔记&#xff08;mapOptmization.cpp&#xff09; 整合拼起来的&#xff0c;自用 关于transformFusion.cpp 融合粗、…

程序汪10万接的多平台视频分发项目,模拟人工发视频

本项目来自程序汪背后的私活小团队&#xff0c;开发了一个多平台分发视频项目&#xff0c;给粉丝分享一下解决方案和具体项目分开情况付款情况等等细节&#xff0c;希望给想接私活的朋友一些经验参考 程序汪10万接的多平台视频分发项目&#xff0c;模拟人工发视频 视频版本 在 …

vs2017离线安装(配合QT5.9.2使用)

以vs2017_Professional版本为例&#xff1a; 一、下载安装包vs2017_Professional.exe&#xff08;在线安装包即可&#xff09; 二、创建在目录&#xff1a;C:\vs2017_Professional_Package&#xff0c;把vs2017_Professional.exe放在该目录下。 ID&#xff1a; Microsoft.Vis…

路径规划——曲线拟合详解(二):贝塞尔曲线、B样条曲线与QP优化( Fast-Planner算法核心部分)

1. 贝塞尔曲线 (1). 贝塞尔曲线的作用 贝塞尔曲线的作用是给定控制点&#xff0c;通过控制点生成对应的曲线进行轨迹拟合&#xff0c;输入为点&#xff0c;输出为受到控制点约束而产生的轨迹。 (2). 贝塞尔曲线的数学表达式 假设给定N个控制点&#xff0c;得到的为N-1阶的贝…