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

废品回收网站怎么做网站优化网站建设人员招聘

废品回收网站怎么做网站优化,网站建设人员招聘,网络营销的seo是做什么的,网站开发和运营合同分开签么题目来源 力扣2476二叉搜索树最近节点查询 题目概述 给你一个 二叉搜索树 的根节点 root ,和一个由正整数组成、长度为 n 的数组 queries 。 请你找出一个长度为 n 的 二维 答案数组 answer ,其中 answer[i] [mini, maxi] : mini 是树中…

题目来源

力扣2476二叉搜索树最近节点查询

题目概述

给你一个 二叉搜索树 的根节点 root ,和一个由正整数组成、长度为 n 的数组 queries 。

请你找出一个长度为 n 的 二维 答案数组 answer ,其中 answer[i] = [mini, maxi] :

mini 是树中小于等于 queries[i] 的 最大值 。如果不存在这样的值,则使用 -1 代替。 maxi 是树中大于等于 queries[i] 的 最小值 。如果不存在这样的值,则使用 -1 代替。 返回数组 answer 。

思路分析

题目并没有指出给我们的是平衡二叉树,所以极端情况下我们可能会拿到一条单链表,在单链表上做查询我们只能以顺序方式进行,效率较低,因此我们考虑将树转为列表然后在列表上做二分查找。

代码实现

java实现

public class Solution {public List<List<Integer>> closestNodes(TreeNode root, List<Integer> queries) {treeToList(root);List<List<Integer>> res = new ArrayList<>();// 二分查找for (Integer query : queries) {int min = -1;int max = -1;int start = 0;int end = list.size();int mid =  0;while (start < end) {mid = start + (end - start) / 2;if (list.get(mid) >= query) {end = mid;} else if (list.get(mid) < query) {start = mid + 1;}}if (start < list.size()) {max = list.get(start);if (query.equals(max)) {min = query;}}if (min == -1 && start > 0) {min = list.get(start - 1);}List<Integer> temp = new ArrayList<>();temp.add(min);temp.add(max);res.add(temp);}return res;}List<Integer> list = new ArrayList<>();/*** 中序遍历转树为列表* @param root*/private void treeToList(TreeNode root) {if (root == null) return;if (root.left != null) treeToList(root.left);list.add(root.val);if (root.right != null) treeToList(root.right);}
}

c++实现

class Solution {
public:/**** 树转列表 *****/vector<int> list;void tree_to_list(TreeNode* root) {if (root == nullptr) return;if (root->left != nullptr) tree_to_list(root->left);list.push_back(root->val);if (root->right != nullptr) tree_to_list(root->right);}vector<vector<int>> closestNodes(TreeNode* root, vector<int>& queries) {tree_to_list(root);vector<vector<int>> res;// 二分查找for (int query : queries) {int min = -1;int max = -1;int start = 0;int end = list.size();int mid = 0;while (start < end) {mid = start + (end - start) / 2;if (list[mid] >= query) {end = mid;}else if (list[mid] < query) {start = mid + 1;}}if (start < list.size()) {max = list[start];if (query == max) {min = query;}}if (min == -1 && start > 0) {min = list[start - 1];}vector<int> temp;temp.push_back(min);temp.push_back(max);res.push_back(temp);}return res;}
}

http://www.yayakq.cn/news/480826/

相关文章:

  • 网站建设求职要求黔东南购物网站开发设计
  • 侗族网站建设本科自考最快多久拿证
  • 做网站编程时容易遇到的问题做国外有那些网站比较好的
  • 企业网站建设和运营建设门户网站人均ip1000需要多大数据库
  • 网站分析报告范文2000wordpress数据库填写
  • 做h5比较好的网站简述网站建设方案类型
  • 郑州建设银行网站上海公司招聘信息
  • 中国建设招聘信息网站wordpress下载类主题
  • 微信网站的优势景县网址建站
  • 公司网站建设计划北京网络网站建设价格
  • 住房和城乡建设报名网站dw做的简单的个人网站网盘
  • 昆山网站建设怎么样如何做好一名销售
  • 浅谈你对大学校园网站建设的建议凉山网站开发
  • asp做网站得多长时间福州专业网站营销
  • 淘宝有做网站吗济南网站建设 刘彬彬
  • 深圳高端电商网站建设者开发大型网站的流程
  • 宜昌网站建设制作公司关键词推广平台
  • 做网站盈利现在建设一个网站需要什么技术
  • 个人网站备案备注写什么怎么做电子商务的网站推广
  • 制作企业网站页面多少钱北京微信公众号
  • 网站开发成本核算上海网站推广价格
  • 自己做的网站怎么弄成appWordPress文章内容密码可见
  • 怎样做网站分析百度网址大全导航首页
  • 网站空间商盗取数据恩城seo的网站
  • 新型网站建设知乎网站建设用的工具
  • 佛山市企业网站seo报价网站制作 客户刁难
  • 招代理商的网站百度手机关键词排名工具
  • 英文电商网站建设如何做实体店的网站
  • 石家庄微网站建设公司灯网一家专门做灯的网站
  • 杭州富阳网站建设沈阳关键字优化公司