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

北京网站建设报价找工作的网站有哪些?

北京网站建设报价,找工作的网站有哪些?,如何查找各种网站,简述建设一个网站的具体步骤二叉搜索树的最小绝对差 题目连接 https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 思路: 利用二叉搜索树的中序遍历的特性,将二叉树转成有序数组,进而求任意两个数的最小绝对差。 代码 /*** Definition for a bina…

二叉搜索树的最小绝对差

题目连接

https://leetcode.cn/problems/minimum-absolute-difference-in-bst/

思路:

利用二叉搜索树的中序遍历的特性,将二叉树转成有序数组,进而求任意两个数的最小绝对差。

代码

/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public ArrayList<Integer> list = new ArrayList<>();public void f(TreeNode root) {if (root == null) {return;}f(root.left);list.add(root.val);f(root.right);}public int getMinimumDifference(TreeNode root) {f(root);int res = Integer.MAX_VALUE;for (int i = 0,j=1; i < list.size()&&j< list.size() ; i++,j++) {if(list.get(j)-list.get(i)<res){res=list.get(j)-list.get(i);}}return res;}
}

二叉搜索树中的众数

题目链接

https://leetcode.cn/problems/find-mode-in-binary-search-tree/description/

思路

利用遍历和map将所有的节点及其频率保存起来,最后将频率最高的放入数组、

代码

/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public HashMap<Integer, Integer> map = new HashMap<>();public void f(TreeNode root) {if (root == null) {return;}f(root.left);map.put(root.val, map.getOrDefault(root.val, 0) + 1);f(root.right);}public int[] findMode(TreeNode root) {f(root);int max = -1;for (Integer integer : map.keySet()) {if (map.get(integer) > -1) {max=Math.max(max,map.get(integer));}}ArrayList<Integer> list = new ArrayList<>();for (Integer integer : map.keySet()) {if (map.get(integer) == max) {list.add(integer);}}int[] ans = new int[list.size()];for (int i = 0; i < list.size(); i++) {ans[i] = list.get(i);}return ans;}
}

二叉树的最近公共祖先

题目链接

https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/description/

思路

利用二叉树的后续遍历实现对二叉树的自下而上的查找
首先最容易想到的一个情况:如果找到一个节点,发现左子树出现结点p,右子树出现节点q,或者 左子树出现结点q,右子树出现节点p,那么该节点就是节点p和q的最近公共祖先。 即情况一:

请添加图片描述

判断逻辑是 如果递归遍历遇到q,就将q返回,遇到p 就将p返回,那么如果 左右子树的返回值都不为空,说明此时的中节点,一定是q 和p 的最近祖先。

情况二:

请添加图片描述

其实情况一 和 情况二 代码实现过程都是一样的,也可以说,实现情况一的逻辑,顺便包含了情况二。

因为遇到 q 或者 p 就返回,这样也包含了 q 或者 p 本身就是 公共祖先的情况。

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if(root==null){return null;}if(root==p||root==q){return root;}TreeNode left=lowestCommonAncestor(root.left,p,q);TreeNode right=lowestCommonAncestor(root.right,p,q);if(left!=null&&right!=null){return root;}if(left==null&&right!=null){return right;}if(left!=null&&right==null){return left;}return null;}
}
http://www.yayakq.cn/news/780520/

相关文章:

  • 丹阳网站建设要多少钱自己怎么做拼单网站
  • 厦门做点击付费网站西安专业的网站优化
  • 响应式网站 哪些厦门h5网站建设
  • 宜宾网站建设北斗网络服务网站 建设原则
  • 广州网站开发建设工商注册系统
  • 盐城微网站建设网站图片自动轮换怎么做的
  • 网站设计的公司价格wordpress模板视频教程
  • 建一个公司网站多少钱?开学第一课汉字做网站
  • 东营网站搭建搜索引擎优化涉及的内容
  • android软件开发工具厦门谷歌seo
  • 绵阳建设网站网络seo优化公司
  • 威海好的网站建设公司品牌建设项目申报
  • 在线企业查询系统个人网站建设网站排名优化
  • 做h5游戏的网站网页设计公司排名前十
  • 文化馆建设网站青岛正规网站建设哪家好
  • 电子商务网站设计物流方案常熟沿江开发区人才网
  • 有哪些做婚品的网站浏览器网站免费进入
  • 网站网站服务器wordpress 太卡
  • 备案网站名称有什么用广州seo网站公司
  • .net个人网站开发视频徐州网站建设优化
  • 现在网站做多宽长春网站网站建设
  • html制作网站网站横幅怎么做
  • 福州医院网站建设公司厦门自己建网站
  • 电商网站的建设与运营餐饮技术支持东莞网站建设
  • 做网站费用分摊入什么科目WordPress主题站
  • 公司网站建设的现状网站开发技术交流群
  • 青浦网站设计制作建设电动摩托车官网
  • 深圳市住建局网站官网文书写作网站
  • 网站设计步骤大全网站首页被k咋办
  • 腾网站建设软件开发培训要学多久