代码随想录算法刷题训练营day21

代码随想录算法刷题训练营day21:LeetCode(501)二叉搜索树中的众数、LeetCode(530)二叉搜索树的最小绝对差

LeetCode(501)二叉搜索树中的众数
题目
在这里插入图片描述

代码

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.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 int[] findMode(TreeNode root) {//定义一个集合存储数据List<Integer> dateTree=new ArrayList<>();getDateTree(root,dateTree);Map<Integer,Integer> mapTreedate=new HashMap<>();for(int i=0;i<dateTree.size();i++){int tempDate=dateTree.get(i);if(mapTreedate.containsKey(tempDate)){mapTreedate.put(tempDate,mapTreedate.get(tempDate)+1);}else{mapTreedate.put(tempDate,1);}}//用Map集合存储数据int count=0;for(Map.Entry<Integer,Integer> entry:mapTreedate.entrySet()){int key=entry.getKey();int countValue=entry.getValue();if(countValue>=count){count=countValue;}}List<Integer> resultDate=new ArrayList<>();for(Map.Entry<Integer,Integer> entry:mapTreedate.entrySet()){if(entry.getValue().equals(count)){resultDate.add(entry.getKey());}}int[] result=new int[resultDate.size()];for(int i=0;i<resultDate.size();i++){result[i]=resultDate.get(i);}return result;}//遍历树public void getDateTree(TreeNode root,List<Integer> dateTree){if(root==null){return;}dateTree.add(root.val);getDateTree(root.left, dateTree);getDateTree(root.right, dateTree);}}

LeetCode(530)二叉搜索树的最小绝对差
题目
在这里插入图片描述

代码

import java.util.ArrayList;
import java.util.List;/*** 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 int getMinimumDifference(TreeNode root) {List<Integer> dateTree=new ArrayList<>();getTreeDate(root,dateTree);int minDate=Math.abs(dateTree.get(0)-dateTree.get(1));for (int i = 0; i < dateTree.size(); i++) {for(int j=i+1;j<dateTree.size();j++){int tempDate=Math.abs(dateTree.get(i)-dateTree.get(j));if(tempDate<minDate){minDate=tempDate;}}        }return minDate;}public void getTreeDate(TreeNode root,List<Integer> dateTree){if(root==null){return;}dateTree.add(root.val);//中序getTreeDate(root.left, dateTree);getTreeDate(root.right, dateTree);}
}

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

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

相关文章

【Linux】多线程(线程概念+线程控制)

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

旧物回收小程序:环保与便捷的完美结合

随着社会的发展和人们生活水平的提高&#xff0c;消费行为也日益频繁&#xff0c;这导致了大量的废旧物品的产生。如何有效处理这些废旧物品&#xff0c;既保护环境&#xff0c;又节约资源&#xff0c;成为了一个重要的议题。此时&#xff0c;旧物回收小程序的出现&#xff0c;…

跟着pink老师前端入门教程-day14+15

2.6 main 主体模块制作 HTML&#xff1a; <div class"w"><div class"main"><!-- 焦点图模块 --><div class"focus"><ul><li><img src"./images/banner_bg.png" alt""></li>…

python给word插入脚注

1.需求 最近因为工作需要&#xff0c;需要给大量文本的脚注插入内容&#xff0c;我就写了个小程序。 2.实现 下面程序是我已经给所有脚注插入了两次文本“幸福”&#xff0c;给脚注2到4再插入文本“幸福” from win32com import clientdef add_text_to_specific_footnotes(…

会议会务报名签到互动抽奖视频图片直播公众号开发

会议会务报名签到互动抽奖视频图片直播公众号开发 现在越来越多的人进行网络签到&#xff0c;特别是大型的会务/展会&#xff0c;网络签到进场形式应用的越来越广泛也是发展的趋势&#xff1b;会助力智能会议管理系统&#xff1a;可以实现在线报名&#xff08;免费/付费/后台导…

Linux/ScriptKiddie

Enumeration nmap 第一次扫描发现系统对外开放了22和5000端口&#xff0c;端口详细信息如下 22端口运行着openssh&#xff0c;5000端口则是werkzeug的httpd&#xff0c;tittle是kids hacker tools TCP/5000 首先从5000端口开始&#xff0c;先访问站点&#xff0c;站点是一个…

《每天十分钟》-红宝书第4版-迭代器与生成器(二)

生成器 基础知识 生成器的形式是一个函数&#xff0c;这个函数比较特殊&#xff0c;它拥有在一个函数块内暂停和恢复代码执行的能力。 函数名称前面加一个星号&#xff08;*&#xff09; 这就表示它是一个生成器了 // 生成器函数声明 function* generatorFn() {} // 生成器…

RHCE 部署Ubuntu系统(ubuntu-23.10-live-server-amd64.iso)

目录 一、新建虚拟机 二、安装系统 1、 选择安装语言&#xff0c;默认 【 English 】&#xff0c;直接回车 2、选择键盘&#xff0c;默认回车 3、安装的服务器版本&#xff0c;根据需求自行选择&#xff0c;本次安装选择 【 Ubuntu Server 】 4、网络设置&#xff0c;此…

Unix/Linux上的五种IO模型

a.阻塞 blocking 调用者调用了某个函数&#xff0c;等待这个函数返回&#xff0c;期间什么也不做&#xff0c;不停的去检查这个函数有没有返回&#xff0c;必须等这个函数返回才能进行下一步动作。 注意&#xff1a;阻塞并不是函数的行为&#xff0c;而是跟文件描述符有关。通…

力扣题目训练(5)

2024年1月29日力扣题目训练 2024年1月29日力扣题目训练345. 反转字符串中的元音字母349. 两个数组的交集350. 两个数组的交集 II96. 不同的二叉搜索树97. 交错字符串44. 通配符匹配 2024年1月29日力扣题目训练 2024年1月29日第五天编程训练&#xff0c;今天主要是进行一些题训…

【云上建站】快速在云上构建个人网站3——网站选型和搭建

快速在云上构建个人网站3——网站选型和搭建 一、网站选型二、云市场镜像方式一&#xff1a;方式二&#xff1a;1. 进入ECS实例详情页面&#xff0c;点击停止&#xff0c;确保更换操作系统的之前ECS实例处于已停止状态&#xff0c;点击更换操作系统&#xff0c;进行镜像配置。2…

如何写好论文——(5)文献综述的两个基本点

写论文的要点就是要明确我们的研究目标 在我们的引言中要论证我们研究目标的合理性 论证通常要通过文献综述来完成 做好文献综述的两个基本要点如下&#xff1a; 一、有所学 在文献综述中展示与我们现有研究相关的所有知识&#xff0c;有一个全面的了解 包括和我们研究问…

84、介绍:操作系统中内存申请的性能

本节简单的介绍一下在操作系统中的内存申请机制。 有些同学看到这可能会有疑惑,我们不是在学习 AI吗,为什么要介绍内存申请的知识呢? 因为无论是 AI,还是其他的计算学科,都离不开以下几个方面的内容:算法 + 操作系统 + 芯片 + 数据。 AI 作为这几年爆火的学科,不是突…

【LeetCode-435】无重叠区间(贪心)

题目链接 题目简介 给定一个区间的集合&#xff0c;找到需要移除区间的最小数量&#xff0c;使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”&#xff0c;但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4…

深入解析可解释性人工智能(XAI):拓展智能决策的透明边界

引言&#xff1a; 近年来&#xff0c;人工智能技术的飞速发展引发了社会各界对其应用和影响的关注。随着AI系统在日常生活中的广泛应用&#xff0c;人们对于这些系统的决策过程提出了更多的疑问。为了增强对AI系统的信任&#xff0c;科学家们努力推动可解释性AI&#xff08;XAI…

appsmith安装手记:4.Sql server数据库容器安装

appsmith安装好&#xff0c;那就可以看是练练手。 数据当然是来自数据库&#xff0c;那就连接局域网中现成的一台数据库服务器试试&#xff0c;但是连接数据库的时候一直错误。 找到/home/appsmith/backend 目录下的日志&#xff0c;看到了错误&#xff1a; [rootlocalhost bac…

uniapp如何引入uview组件?

目录 1.引入前准备 2.在项目中引入组件 1.mian.is文件 2.uni.scss 文件 3.App.vue文件 4.pages.json 文件 3.测试成功 1.引入前准备 为了方便我们在制作项目的过程中&#xff0c;方便使用模板组件&#xff0c;快速开发。我们可以选择引入组件。 在uni-app中使用uView组件…

day22打卡

day22打卡 235. 二叉搜索树的最近公共祖先 递归法时间复杂度&#xff1a;O(N)&#xff0c;空间复杂度&#xff1a;O(N) class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if(root->val > p->val && ro…

蓝桥杯《剪格子》

题目描述 历届试题 剪格子 时间限制&#xff1a;1.0s 内存限制&#xff1a;256.0MB 问题描述 如下图所示&#xff0c;3 x 3 的格子中填写了一些整数。 10 1 52 20 30 1 1 2 3 我们沿着图中的星号线剪开&#xff0c;得到两个部分&#xff0c;每个部分…

基于SSM的高校班级同学录网站设计与实现(有报告)。Javaee项目,ssm项目。

演示视频&#xff1a; 基于SSM的高校班级同学录网站设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm项目。 项目介绍&#xff1a; Javaee项目&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&…