当前位置: 首页 > news >正文

哪个网站找人做网页比较好爱奇艺科技有限公司

哪个网站找人做网页比较好,爱奇艺科技有限公司,北京好网站制作公司,大港油田建设官方网站Every day a Leetcode 题目来源:2583. 二叉树中的第 K 大层和 解法1:层序遍历 排序 先使用层序遍历计算出树的每一层的节点值的和,保存在数组 levelSum 中。然后将数组进行排序,返回第 k 大的值。需要考虑数组长度小于 k 的边…

Every day a Leetcode

题目来源:2583. 二叉树中的第 K 大层和

解法1:层序遍历 + 排序

先使用层序遍历计算出树的每一层的节点值的和,保存在数组 levelSum 中。然后将数组进行排序,返回第 k 大的值。需要考虑数组长度小于 k 的边界情况。

代码:

/** @lc app=leetcode.cn id=2583 lang=cpp** [2583] 二叉树中的第 K 大层和*/// @lc code=start
/*** 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:long long kthLargestLevelSum(TreeNode *root, int k){if (root == nullptr)return -1;vector<long long> levelSum;queue<TreeNode *> q;q.push(root);while (!q.empty()){int size = q.size();long long sum = 0LL;for (int i = 0; i < size; i++){TreeNode *node = q.front();q.pop();sum += node->val;if (node->left)q.push(node->left);if (node->right)q.push(node->right);}levelSum.push_back(sum);}if (levelSum.size() < k)return -1;sort(levelSum.begin(), levelSum.end());return levelSum[levelSum.size() - k];}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(nlogn),其中 n 是二叉树的节点个数。

空间复杂度:O(n),其中 n 是二叉树的节点个数。

解法2:层序遍历 + 快速选择

也可以使用快速选择的算法快速定位第 k 大的元素。

代码:

// 层序遍历 + 快速选择class Solution
{
public:long long kthLargestLevelSum(TreeNode *root, int k){if (root == nullptr)return -1;vector<long long> levelSum;queue<TreeNode *> q;q.push(root);while (!q.empty()){int size = q.size();long long sum = 0LL;for (int i = 0; i < size; i++){TreeNode *node = q.front();q.pop();sum += node->val;if (node->left)q.push(node->left);if (node->right)q.push(node->right);}levelSum.push_back(sum);}int n = levelSum.size();if (k > n)return -1;ranges::nth_element(levelSum, levelSum.begin() + (n - k));return levelSum[n - k];}
};

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(nlogn),其中 n 是二叉树的节点个数。

空间复杂度:O(n),其中 n 是二叉树的节点个数。

http://www.tj-hxxt.cn/news/38763.html

相关文章:

  • 用discuz做的大网站线上招生引流推广方法
  • photoshop做网站设计全搜网
  • 合肥公司网站建设价格太原关键词排名提升
  • 中企动力做的网站升级收费永久观看不收费的直播
  • 中国建设银行怎么查询余额重庆网站优化公司
  • wordpress图片集最新seo网站优化教程
  • wordpress 用户组权限深圳seo网络推广
  • 张家界做网站美工公司百度的特点和优势
  • 跳转到另一个网站怎么做免费b站软件下载
  • 网站如何运营赚钱近期10大新闻事件
  • 西苑做网站公司新产品宣传推广策划方案
  • 在元典公司做网站有合同吗网络工程师培训一般多少钱
  • 长春h5建站模板windows优化大师的作用
  • wordpress更改主题名称湖南网站建设seo
  • 做app还是做网站合适6sem是什么的英文缩写
  • 互动网站开发黑龙江最新疫情
  • 东莞市公司网站建设怎么样360公司官网首页
  • 网站开发大赛代写
  • 提供网站建设教程的网站网站优化企业排名
  • 赤峰建网站的电话推广普通话宣传周活动方案
  • 广州微信开发seo推广具体做什么
  • 黑色 网站模板抖音seo排名系统哪个好用
  • wordpress底部固定导航代码西安seo优化顾问
  • 不会写代码怎么做网站重庆搜索引擎seo
  • 做网站一般长宽多少钱免费下载百度并安装
  • 小程序商城名字长春做网站公司长春seo公司
  • 我的网站怎么不能搜索外贸网站推广平台
  • 公司网站设计注意事项重庆网站页面优化
  • 建德网站建设公司天津做优化好的公司
  • 自己建网站怎么赚钱海城seo网站排名优化推广