网易首页 > 网易号 > 正文 申请入驻

感觉被侮辱了。。

0
分享至

专栏:50多种数据结构彻底征服

专栏:50多种经典图论算法全部掌握

世界之大,无奇不有,最近一C++网友在找工作的时候,HR给他开出了高达50元的日薪,该网友感觉受到了侮辱。还好,评论区另一网友实在看不下去,替他给骂了回去。



网友评论:





--------------下面是今天的算法题--------------

来看下今天的算法题,这题是LeetCode的第96题:不同的二叉搜索树。

问题描述

来源:LeetCode第96题

难度:中等

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

示例1:



输入:n = 3 输出:5

示例2:


输入:n = 1 输出:1

  • 1 <= n <= 19

问题分析

这题让计算 n 个节点可以构成多个二叉搜索树。我们可以这样来思考,二叉树肯定有根节点,去掉根节点之后还有 n-1 个子节点。在这 n-1 个子节点中,左子节点可以有 0 个,也可以有 1 个,也可以有 2 个……

如果左子节点是 j 个,那么右子节点就是 n-1-j 个,它们构成的二叉搜索树就是左子树构成的个数乘以右子树构成的个数,所以这是一个动态规划问题。

定义dp[i]表示 i 个节点构成的二叉搜索树个数,当 i 等于 1 的时候只有一种情况。当左子节点个数为 0 的时候,构成的二叉搜索树就是右子节点构成的个数,所以我们这里让dp[0]也等于 1 。

当计算 i 个节点的时候,我们只需要枚举左子树的个数从 0 到 i-1 即可,代码如下:

JAVA:

public int numTrees(int n) {     int dp[] = new int[n + 1];     dp[0] = dp[1] = 1;// 节点为0和1的时候,只有一种。     for (int i = 2; i <= n; i++)         for (int j = 0; j < i; j++)             // j是左子节点个数,i-j-1是右子节点个数。             dp[i] += dp[j] * dp[i - j - 1];     return dp[n]; }

C++:

public:     int numTrees(int n) {         vector

  dp(n + 1);         dp[0] = dp[1] = 1;// 节点为0和1的时候,只有一种。         for (int i = 2; i <= n; i++)             for (int j = 0; j < i; j++)                 // j是左子节点个数,i-j-1是右子节点个数。                 dp[i] += dp[j] * dp[i - j - 1];         return dp[n];     }

Python:

def numTrees(self, n: int) -> int:     dp = [0] * (n + 1)     dp[0] = dp[1] = 1  # 节点为0和1的时候,只有一种。     for i in range(2, n + 1):         for j in range(i):             # j是左子节点个数,i-j-1是右子节点个数。             dp[i] += dp[j] * dp[i - j - 1]     return dp[n]

笔者简介

博哥,真名:王一博,毕业十多年, 作者,专注于 数据结构和算法 的讲解,在全球30多个算法网站中累计做题2000多道,在公众号中写算法题解800多题,对算法题有自己独特的解题思路和解题技巧,喜欢的可以给个关注,也可以 下载我整理的1000多页的PDF算法文档 。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
果然,琼瑶花葬当天,平鑫涛的3个子女就迫不及待公开报复了!

果然,琼瑶花葬当天,平鑫涛的3个子女就迫不及待公开报复了!

美美谈情感
2024-12-12 01:00:36
美媒评21世纪最具影响力运动员,博尔特仅21位,老詹登顶第一

美媒评21世纪最具影响力运动员,博尔特仅21位,老詹登顶第一

篮球圈里的那些事
2024-12-12 11:16:59
6连胜!利物浦接近欧冠出线,距离联赛冠军只差一步

6连胜!利物浦接近欧冠出线,距离联赛冠军只差一步

kop侃球
2024-12-12 23:43:27
朱总有才,广东男篮为周琦举办欢迎仪式并赠送他“番薯”玩偶

朱总有才,广东男篮为周琦举办欢迎仪式并赠送他“番薯”玩偶

懂球帝
2024-12-12 22:15:38
2025款全新一代丰田汉兰达:世界级无敌神车!

2025款全新一代丰田汉兰达:世界级无敌神车!

沙雕小琳琳
2024-12-11 11:05:01
中国股市:炒股的尽头是什么?此文很短很深,值得散户深思!

中国股市:炒股的尽头是什么?此文很短很深,值得散户深思!

一方聊市
2024-11-30 13:07:43
悲催!上海一家4000多人的日资企业宣布关闭,网友:太墨守成规了

悲催!上海一家4000多人的日资企业宣布关闭,网友:太墨守成规了

火山诗话
2024-12-11 13:59:34
周琦回广东太暖!赛前发言致谢,赛后搂小胡与杜锋洽谈,感情仍在

周琦回广东太暖!赛前发言致谢,赛后搂小胡与杜锋洽谈,感情仍在

篮球资讯达人
2024-12-12 22:58:06
震惊!马筱梅爆料,汪小菲的儿子讨厌汪小菲,不愿意再见汪小菲

震惊!马筱梅爆料,汪小菲的儿子讨厌汪小菲,不愿意再见汪小菲

阿凫爱吐槽
2024-12-12 10:39:16
美国妹子开心加入顶级韩娱公司女团,1年后崩溃上诉:剥削、虐待!77页诉讼震惊全美

美国妹子开心加入顶级韩娱公司女团,1年后崩溃上诉:剥削、虐待!77页诉讼震惊全美

北美省钱快报
2024-12-11 01:58:56
琼瑶第一任丈夫庆筠近况!弃笔当上班族再婚育有二子,92岁仍健在

琼瑶第一任丈夫庆筠近况!弃笔当上班族再婚育有二子,92岁仍健在

小盖纪实
2024-12-10 17:35:53
火箭看走眼!新秀榜Top10更新:前4仅谢泼德无缘 克内克特跌至第6

火箭看走眼!新秀榜Top10更新:前4仅谢泼德无缘 克内克特跌至第6

锅子篮球
2024-12-12 11:35:09
恭喜!香港知名富三代宣布二胎生子,96岁富豪李兆基再当太外公

恭喜!香港知名富三代宣布二胎生子,96岁富豪李兆基再当太外公

你约电影
2024-12-11 22:30:24
极越一夜负债8亿元,比高合停摆更惨,百度造车或将失败

极越一夜负债8亿元,比高合停摆更惨,百度造车或将失败

路咖汽车
2024-12-12 12:59:36
无人机仙人,一卡脖子就翻白眼

无人机仙人,一卡脖子就翻白眼

平原公子
2024-12-02 07:48:22
美媒:哈马斯或同意以军停火后临时驻留加沙

美媒:哈马斯或同意以军停火后临时驻留加沙

澎湃新闻
2024-12-13 00:09:04
揭秘女性性生活欲望强烈的四大原因

揭秘女性性生活欲望强烈的四大原因

智见派
2024-07-06 16:33:34
公路之王,还得看硬实力

公路之王,还得看硬实力

沙雕小琳琳
2024-12-12 13:29:18
丁立人:输掉比赛也是公平的结果&我没有遗憾,还会继续下棋

丁立人:输掉比赛也是公平的结果&我没有遗憾,还会继续下棋

懂球帝
2024-12-12 21:53:22
抗住!-4℃、雨夹雪!就在明天,疯狂反转,连续8天!

抗住!-4℃、雨夹雪!就在明天,疯狂反转,连续8天!

浙江之声
2024-12-12 18:26:06
2024-12-13 00:44:49
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
143文章数 2关注度
往期回顾 全部

科技要闻

极越两大股东百度、吉利为何见死不救?

头条要闻

立陶宛候任防长:所有人都清楚"台湾的战争即将来临"

头条要闻

立陶宛候任防长:所有人都清楚"台湾的战争即将来临"

体育要闻

欧冠“病友德比”,曼城又输了

娱乐要闻

赛琳娜官宣订婚!高调晒鸽子蛋钻戒

财经要闻

全文来了!中央经济工作会议在京举行

汽车要闻

高颜值高空间高乐趣 iCAR V23是懂年轻人的

态度原创

本地
健康
旅游
数码
公开课

本地新闻

探黔地风情,于山水之间赏不败之花

花18万治疗阿尔茨海默病,值不值?

旅游要闻

乐山大佛检票排队两小时?回应:不完全属实

数码要闻

黑爵 AK820 MAX Plus 三模机械键盘上市,179 元起

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版