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

Java复习第四天

一、代码题

1.相同的树

(1)题目

给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

  • 示例 1: 输入:p=[1,2,3],q=[1,2,3] 输出:true
  • 示例 2: 输入:p =[1,2],q=[1,null,2] 输出:false
  • 示例 3: 输入:p=[1,2,1],q =[1,1,2] 输出:false

(2)思路实现

a.题目实现

  • 如果两个节点都为空,则它们是相同的。
  • 如果其中一个节点为空而另一个不为空,则它们不同。
  • 如果两个节点的值不同,则它们不同。
  • 如果两个节点的值相同,则递归地检查它们的左子树和右子树是否相同。

b.代码实现

  • 定义一个递归函数 isSameTree,接受两个 TreeNode 类型的参数 p 和 q。
  • 首先检查两个节点是否都为空,如果是,则返回 true。
  • 然后检查其中一个节点是否为空而另一个不为空,如果是,则返回 false。
  • 接着检查两个节点的值是否相同,如果不同,则返回 false。
  • 最后递归地检查两个节点的左子树和右子树是否相同,只有当两者都返回 true 时,才返回 true。

(3)代码实现

package com.thor.test;public class Demo {public static void main(String[] args) {//示例 1: 输入:p=[1,2,3],q=[1,2,3] 输出:trueTreeNode p1 = new TreeNode(1, new TreeNode(2), new TreeNode(3));TreeNode q1 = new TreeNode(1, new TreeNode(2), new TreeNode(3));System.out.println(new TreeNode.Solution().isSameTree(p1,q1));//示例 2: 输入:p =[1,2],q=[1,null,2] 输出:falseTreeNode p2 = new TreeNode(1, new TreeNode(2), null);TreeNode q2 = new TreeNode(1, null, new TreeNode(2));System.out.println(new TreeNode.Solution().isSameTree(p2,q2));//示例 3: 输入:p=[1,2,1],q =[1,1,2] 输出:falseTreeNode p3 = new TreeNode(1, new TreeNode(2), new TreeNode(1));TreeNode q3 = new TreeNode(1, new TreeNode(1), new TreeNode(2));System.out.println(new TreeNode.Solution().isSameTree(p3,q3));}}
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;}//有参构造static class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {//如果两个节点都为空,则他们相同if(p==null&&q==null){return true;}//如果其中一个节点为空,另一个不为空,则他们不同if(p==null||q==null){return false;}//如果两个节点的值不同,则他们不同if(p.val!=q.val){return false;}//递归低检查两个节点的左子树和右子树是否相等return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);}}
}

2.对称二叉树

(1)题目

你一个二叉树的根节点root,检查它是否轴对称。

  • 示例1: 输入:root=[1,2,2,3,4,4,3] 输出:true
  • 示例 2: 输入:root=[1,2,2,null,3,null,3] 输出:false

(2)思路实现

a.题目实现

  • 如果树为空,则它是对称的。
  • 定义一个辅助函数 isMirror,用于检查两个子树是否互为镜像。
  • 在 isMirror 函数中,首先检查两个节点是否都为空,如果是,则它们是对称的。
  • 然后检查其中一个节点为空而另一个不为空,如果是,则它们不对称。
  • 接着检查两个节点的值是否相同,如果不同,则它们不对称。
  • 最后递归地检查一个节点的左子树和另一个节点的右子树是否互为镜像,以及一个节点的右子树和另一个节点的左子树是否互为镜像

b.代码实现

  • 定义一个递归函数 isSymmetric,接受一个 TreeNode 类型的参数 root。
  • 如果 root 为空,则返回 true。
  • 调用辅助函数 isMirror,传入 root 的左子树和右子树。
  • 定义辅助函数 isMirror,接受两个 TreeNode 类型的参数 p 和 q。
  • 在 isMirror 函数中,首先检查两个节点是否都为空,如果是,则返回 true。
  • 然后检查其中一个节点为空而另一个不为空,如果是,则返回 false。
  • 接着检查两个节点的值是否相同,如果不同,则返回 false。
  • 最后递归地检查一个节点的左子树和另一个节点的右子树是否互为镜像,以及一个节点的右子树和另一个节点的左子树是否互为镜像。

(3)代码实现

package com.thor.test;public class Demo {public static void main(String[] args) {// 示例 1TreeNode root1 = new TreeNode(1,new TreeNode(2, new TreeNode(3), new TreeNode(4)),new TreeNode(2, new TreeNode(4), new TreeNode(3)));System.out.println(new Solution().isSymmetric(root1)); // 输出: true// 示例 2TreeNode root2 = new TreeNode(1,new TreeNode(2, null, new TreeNode(3)),new TreeNode(2, null, new TreeNode(3)));System.out.println(new Solution().isSymmetric(root2)); // 输出: false}
}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 boolean isSymmetric(TreeNode root) {// 如果树为空,则它是对称的if (root == null) {return true;}// 调用辅助函数检查左子树和右子树是否互为镜像return isMirror(root.left, root.right);}private boolean isMirror(TreeNode p, TreeNode q) {// 如果两个节点都为空,则它们是对称的if (p == null && q == null) {return true;}// 如果其中一个节点为空而另一个不为空,则它们不对称if (p == null || q == null) {return false;}// 如果两个节点的值不同,则它们不对称if (p.val != q.val) {return false;}// 递归地检查一个节点的左子树和另一个节点的右子树是否互为镜像// 以及一个节点的右子树和另一个节点的左子树是否互为镜像return isMirror(p.left, q.right) && isMirror(p.right, q.left);}
}
二、集合

1.简介

2.ArrayList

(1)注意:声明的时候,最好采用多态的形式,就是父类引用指向子类对象

原因:关于可重复,有序操作的方法,都是在接口中已经定义好了;利于多态

(2)代码

List list =new ArrayList();
//增
list.add(1);
list.add(2);
list.add(3);
list.add(1);
//查
for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));
}

(3)单元测试——@Test

@Test
public void f01() {List list = new ArrayList();//增list.add(1);list.add(2);list.add(3);list.add(1);for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
}
@Test
public void f02() {List list = new ArrayList();//增list.add(1);list.add(2);list.add(3);list.add(1);//删list.remove(1);for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
}
@Test
public void f03() {List list = new ArrayList();//增list.add(1);list.add(2);list.add(3);list.add(1);//改list.set(0, 4);for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
}

3.LinkedList

(1)代码

@Test
public void f01() {List list = new LinkedList();//增list.add(1);list.add(2);list.add(3);list.add(1);for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
}
@Test
public void f02() {List list = new LinkedList();//增list.add(1);list.add(2);list.add(3);list.add(1);//删list.remove(1);for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
}
@Test
public void f03() {List list = new LinkedList();//增list.add(1);list.add(2);list.add(3);list.add(1);//改list.set(0, 4);for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
}

(2)特殊方法

4.List、ArrayList、LinkedList 区别

List

ArrayList

LinkedList

同点:二者都是有序的,父类为List

不同点:二者的底层结构不一样。

ArrayList的底层数据结构的数组结构,数组结构有个特点是查询快,因为它里面有索引,但是增加和删除慢,因为增加的时候需要考虑扩容机制。

LinkedList的底层数据结构是链表结构,链表结构增加和删除快,因为它们内部都有一个节点保存其地址值。但是查询慢,因为它们没有对应的索引操作

5.练习题

题目:如何存储多条狗狗信息,获取狗狗总数,逐条打印出各条狗狗信息 ?

package com.thor.test;import org.junit.Test;import java.util.ArrayList;
import java.util.List;
import java.util.Objects;public class Demo {@Testpublic void f01() {List list = new ArrayList();//增list.add(new Dog("欧欧","雪纳瑞"));list.add(new Dog("豆豆","泰迪"));list.add(new Dog("花花","金毛"));list.add(new Dog("美美","哈士奇"));System.out.println("共计有"+list.size()+"条狗");for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}
}
class Dog{private String name;private String strain;@Overridepublic String toString() {return "Dog{" +"name='" + name + '\'' +", strain='" + strain + '\'' +'}';}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Dog dog = (Dog) o;return Objects.equals(name, dog.name) && Objects.equals(strain, dog.strain);}@Overridepublic int hashCode() {return Objects.hash(name, strain);}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getStrain() {return strain;}public void setStrain(String strain) {this.strain = strain;}public Dog(String name, String strain) {this.name = name;this.strain = strain;}
}

6.Set

Set 入门案例

  • Set 不能重复,无序;遍历用增强 for,因为无序,没有索引。
  • 代码
@Test
public void f01() {Set set = new HashSet();//增set.add("中国");set.add("美国");set.add("中国");set.add("日本");set.add("韩国");System.out.println(set.size());for (Object o : set) {System.out.println(o);}
}

7.Map

  • Map 入门案例
  • Map 是双列集合
  • 新增是(key value 结构),key 不能重复,value 可以重复
  • 新增和修改用的是同一个方法——put
  • 代码
@Test
public void f01() {Map map = new HashMap();map.put("China","中国");map.put("American","美国");map.put("England","英国");map.put("Japan","日本");map.put("China1","中国");System.out.println(map.size());//查Set set = map.keySet();//增强forfor (Object key : set) {Object value = map.get((String) key);System.out.println(key+ " : "+ value);}
}

8.迭代器——Iterator

  • 所有的增强 for 循环,底层实际上是依赖于迭代器Iterator

(1)有序

@Test
public void f01() {ArrayList<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);System.out.println("\n遍历方式1");for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i)+" ");}System.out.println("\n遍历方式2");for (Integer i : list) {System.out.println(i + " ");}System.out.println("\n遍历方式3");Iterator<Integer> iterator = list.iterator();while(iterator.hasNext()){System.out.println(iterator.next()+" ");}
}

(2)无序

@Test
public void f01() {Set<Integer> set = new HashSet<>();set.add(1);set.add(2);set.add(6);set.add(4);System.out.println("\n遍历方式1");for (Integer i : set) {System.out.println(i + " ");}System.out.println("\n遍历方式2");Iterator<Integer> iterator = set.iterator();while (iterator.hasNext()) {System.out.println(iterator.next() + " ");}
}

9.Collections 集合框架工具类

@Testpublic void f01() {List<Integer> list = new ArrayList<>();for (int i = 1; i < 11; i++) {list.add(i);}//洗牌Collections.shuffle(list);System.out.println("洗牌的结果为:" + list + " ");}@Testpublic void f02() {List<Integer> list = new ArrayList<>();for (int i = 1; i < 11; i++) {list.add(i);}//洗牌Collections.reverse(list);System.out.println("洗牌反转后的结果为:" + list + " ");}@Testpublic void f03() {List<Integer> list = new ArrayList<>();for (int i = 1; i < 11; i++) {list.add(i);}//洗牌Collections.addAll(list,11,12);System.out.println("洗牌追加后的结果为:" + list + " ");}

相关文章:

Java复习第四天

一、代码题 1.相同的树 (1)题目 给你两棵二叉树的根节点p和q&#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1: 输入:p[1,2,3]&#xff0c;q[1,2,3] 输出:true示例 2: 输…...

mysql数据库启动出现Plugin ‘FEEDBACK‘ is disabled.问题解决记录

本人出现该问题的环境是xampp&#xff0c;异常关机&#xff0c;再次在xampp控制面板启动mysql出现该问题。出现问题折腾数据库之前&#xff0c;先备份数据&#xff0c;将mysql目录下的data拷贝到其他地方&#xff0c;这很重要。 然后开始折腾。 查资料&#xff0c;会发现很多…...

Spring 是如何解决循环依赖问题

Spring 框架通过 三级缓存 机制来解决循环依赖问题。循环依赖是指两个或多个 Bean 相互依赖&#xff0c;形成一个闭环&#xff0c;例如 Bean A 依赖 Bean B&#xff0c;而 Bean B 又依赖 Bean A。Spring 通过提前暴露未完全初始化的 Bean 来解决这个问题。 以下是 Spring 解决…...

【论文笔记】TranSplat:深度refine的camera-required可泛化稀疏方法

深度信息在场景重建中是非常重要的先验&#xff0c;有一个精确的深度估计&#xff0c;重建质量起码提升一半&#xff0c;这一篇就是围绕着transformer优化深度来展开工作&#xff0c;进而提升GS的效果&#xff0c;感谢作者大佬们的work&#xff01; 1 Abstract 与之前的3D重建方…...

营销2.0时代的挑战与开源AI智能名片2+1链动模式S2B2C商城小程序源码的解决方案

摘要&#xff1a;本文旨在探讨营销2.0时代企业在客户管理方面的挑战&#xff0c;并提出开源AI智能名片21链动模式S2B2C商城小程序源码作为解决方案。营销2.0虽然强调客户导向&#xff0c;但在实际操作中&#xff0c;企业往往无差别地对待所有客户&#xff0c;导致客户忠诚度下降…...

PHP教育系统小程序

&#x1f310; 教育系统&#xff1a;全方位学习新体验&#xff0c;引领未来教育风尚 &#x1f680; 教育系统&#xff1a;创新平台&#xff0c;智慧启航 &#x1f4f1; 教育系统&#xff0c;一款深度融合科技与教育的创新平台&#xff0c;匠心独运地采用先进的ThinkPHP框架与U…...

开篇:吴恩达《机器学习》课程及免费旁听方法

课程地址&#xff1a; Machine Learning | Coursera 共包含三个子课程 Supervised Machine Learning: Regression and Classification | Coursera Advanced Learning Algorithms | Coursera Unsupervised Learning, Recommenders, Reinforcement Learning | Coursera 免费…...

zookeeper的介绍和简单使用

1 zookerper介绍 zookeeper是一个开源的分布式协调服务&#xff0c;由Apache软件基金会提供&#xff0c;主要用于解决分布式应用中的数据管理、状态同步和集群协调等问题。通过提供一个高性能、高可用的协调服务&#xff0c;帮助构建可靠的分布式系统。 Zookeeper的特点和功能…...

python学opencv|读取图像(三十八 )阈值自适应处理

【1】引言 前序学习了5种阈值处理方法&#xff0c;包括(反)阈值处理、(反)零值处理和截断处理&#xff0c;相关文章链接为&#xff1a; python学opencv|读取图像&#xff08;三十三&#xff09;阈值处理-灰度图像-CSDN博客 python学opencv|读取图像&#xff08;三十四&#…...

C++ 条件变量-生产消费者模型

条件变量是一种线程同步机制,当条件不满足时&#xff0c;相关线程被一直阻塞&#xff0c;直到某种条件出现&#xff0c;这些线程才会被唤醒. C11的条件变量提供了两个类&#xff1a; condition_variable&#xff1a;只支持与普通mutex搭配&#xff0c;效率更高。 condition_…...

Vue - ref( ) 和 reactive( ) 响应式数据的使用

一、ref( ) 在 Vue 3 中&#xff0c;ref() 是一个用于创建响应式引用的函数。它是 Vue 3 Composition API(组合式API) 的一部分&#xff0c;允许在组件中创建响应式数据。 使用对象&#xff1a;基本数据类型&#xff08;String 、Number 、Boolean 、Null 等&#xff09;、对…...

C语言初阶牛客网刷题——HJ73 计算日期到天数转换【难度:简单】

1. 题目描述——HJ73 计算日期到天数转换 牛客网OJ题链接 描述 每一年中都有 12 个月份。其中&#xff0c;1,3,5,7,8,10,12 月每个月有 31 天&#xff1b; 4,6,9,11 月每个月有 30 天&#xff1b;而对于 2 月&#xff0c;闰年时有29 天&#xff0c;平年时有 28 天。 现在&am…...

学到一些小知识关于Maven 与 logback 与 jpa 日志

1.jpa想要输出参数 logging:level:org.hibernate.orm.jdbc.bind: trace #打印SQL参数web: debug #web框架的日志级别就可以了&#xff0c; 2.Slf4j 其实 Slf4j 是一个日志接口规范&#xff0c;没有具体的实现 而 logback 是 Slf4j的一个实现 &#xff0c;也是springboot3 的…...

Springboot3 自动装配流程与核心文件:imports文件

注&#xff1a;本文以spring-boot v3.4.1源码为基础&#xff0c;梳理spring-boot应用启动流程、分析自动装配的原理 如果对spring-boot2自动装配有兴趣&#xff0c;可以看看我另一篇文章&#xff1a; Springboot2 自动装配之spring-autoconfigure-metadata.properties和spring…...

1905电影网中国地区电影数据分析(一) - 数据采集、清洗与存储

文章目录 前言一、数据采集步骤及python库使用版本1. python库使用版本2. 数据采集步骤 二、数据采集网页分析1. 分析采集的字段和URL1.1 分析要爬取的数据字段1.2 分析每部电影的URL1.2 分析每页的URL 2. 字段元素标签定位 三、数据采集代码实现1. 爬取1905电影网分类信息2. 爬…...

postgresql15的启动

PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统&#xff0c;且因为许可证的灵活&#xff0c;任何人都可以以任何目的免费使用、修改和分发PostgreSQL。现在国产数据库大力发展阶段&#xff0c;学习和熟悉postgresql的功能是非常有必要的&#x…...

基于SpringBoot的高校教师科研的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

位运算的基本概念+通过 Brian Kernighan算法计算 lowbit 实现的奇技淫巧 python

目录 引入判断奇偶位运算概念 进入正题Brian Kernighan 算法lowbit 介绍判断幂举一反三牛刀小试汉明重量总结 引入 判断奇偶 假设你不知道位运算为何物&#xff1a;你怎么判断奇偶呢&#xff1f; n int(input()) if n % 2 0:print(f"{n}是偶数") else:print(f&q…...

vscode环境中用仓颉语言开发时调出覆盖率的方法

在vscode中仓颉语言想得到在idea中利用junit和jacoco的覆盖率&#xff0c;需要如下几个步骤&#xff1a; 1.在vscode中搭建仓颉语言开发环境&#xff1b; 2.在源代码中右键运行[cangjie]coverage. 思路1&#xff1a;编写了测试代码的情况&#xff08;包管理工具&#xff09; …...

【测试】UI自动化测试

长期更新&#xff0c;建议关注收藏点赞&#xff01; 目录 概论WEB环境搭建Selenium APPAppium 概论 使用工具和代码执行用例。 什么样的项目需要自动化&#xff1f; 需要回归测试、自动化的功能模块需求变更不频繁、项目周期长&#xff08;功能测试时长&#xff1a;UI自动化测…...

ThinkPHP 8的多对多关联

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…...

利用 SoybeanAdmin 实现前后端分离的企业级管理系统

引言 随着前后端分离架构的普及&#xff0c;越来越多的企业级应用开始采用这种方式来开发。前后端分离不仅提升了开发效率&#xff0c;还让前端和后端开发可以并行进行&#xff0c;减少了相互之间的耦合度。SoybeanAdmin 是一款基于 Spring Boot 和 MyBatis-Plus 的后台管理系…...

【Uniapp-Vue3】request各种不同类型的参数详解

一、参数携带 我们调用该接口的时候需要传入type参数。 第一种 路径名称?参数名1参数值1&参数名2参数值2 第二种 uni.request({ url:"请求路径", data:{ 参数名:参数值 } }) 二、请求方式 常用的有get&#xff0c;post和put 三种&#xff0c;默认是get请求。…...

【安当产品应用案例100集】034-安当KSP支持密评中存储数据的机密性和完整性

安当KSP是一套获得国密证书的专业的密钥管理系统。KSP的系统功能扩展图示如下&#xff1a; 我们知道商用密码应用安全性评估中&#xff0c;需要确保存储的数据不被篡改、删除或者破坏&#xff0c;必须采用合适的安全方案来确保存储数据的机密性和完整性。KSP能否满足这个需求呢…...

如何实现网页不用刷新也能更新

要实现用户在网页上不用刷新也能到下一题&#xff0c;可以使用 前端和后端交互的技术&#xff0c;比如 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;、Fetch API 或 WebSocket 来实现局部页面更新。以下是一个实现思路&#xff1a; 1. 使用前端 AJAX 或 Fetch…...

【真机调试】前端开发:移动端特殊手机型号有问题,如何在电脑上进行调试?

目录 前言一、怎么设置成开发者模式&#xff1f;二、真机调试基本步骤&#xff1f; &#x1f680;写在最后 前言 edge浏览器 edge://inspect/#devices 谷歌浏览器&#xff08;开tizi&#xff09; chrome://inspect 一、怎么设置成开发者模式&#xff1f; Android 设备 打开设…...

ASP.NET Core 6.0 如何处理丢失的 Startup.cs 文件

介绍 .NET 6.0 已经发布&#xff0c;ASP.NET Core 6.0 也已发布。其中有不少变化让很多人感到困惑。例如&#xff0c;“谁动了我的奶酪”&#xff0c;它在哪里Startup.cs&#xff1f;在这篇文章中&#xff0c;我将深入研究这个问题&#xff0c;看看它移动到了哪里以及其他变化。…...

利用Java爬虫获取eBay商品详情:代码示例与教程

在当今的电商时代&#xff0c;获取商品详情数据对于市场分析、价格监控和竞品研究至关重要。eBay作为全球最大的电商平台之一&#xff0c;拥有海量的商品信息。通过Java爬虫技术&#xff0c;我们可以高效地获取这些数据&#xff0c;为商业决策提供支持。本文将详细介绍如何使用…...

graylog~认识一下-日志管理平台

1、介绍 Graylog 是一个开源的日志管理和分析平台&#xff0c;旨在帮助企业集中收集、存储、搜索和分析来自各种来源的日志数据。它提供了强大的实时日志处理能力&#xff0c;适用于大规模分布式系统和复杂的生产环境。 主要功能 集中化日志管理&#xff1a; 收集来自不同来源…...

Vue 拦截监听原理

Vue 渐进式JavaScript 框架 学习笔记 - Vue 拦截监听原理 目录 拦截监听原理 如何跟踪变化 拦截监听示例 观察者 注意:vue3的变化 总结 拦截监听原理 如何跟踪变化 当你把一个普通的Javascript 对象传入 Vue 实例作为data选项&#xff0c;Vue 将遍历此对象所有的proper…...

C# 解析 HTML 实战指南

在网页开发和数据处理的场景中&#xff0c;经常需要从 HTML 文档里提取有用的信息。C# 作为一门强大的编程语言&#xff0c;提供了丰富的工具和库来实现 HTML 的解析。这篇博客就带你深入了解如何使用 C# 高效地解析 HTML。 一、为什么要在 C# 中解析 HTML 在实际项目中&…...

idea新增java快捷键代码片段

最近在写一些算法题&#xff0c;有很多的List<List这种编写&#xff0c;想着能否自定义一下快捷键 直接在写代码输入&#xff1a;lli&#xff0c;即可看见提示...

网络与信息安全:企业如何正确实施电子邮件监控,防止内忧外患?

什么是电子邮件监控&#xff1f; 电子邮件监控对于保护公司免受因员工的恶意活动或外部攻击&#xff08;如网络钓鱼、垃圾邮件等&#xff09;而导致的不良事件的影响非常重要。实施员工电子邮件监控措施可能包括以下原因&#xff1a; 密切关注员工的官方电子邮件可确保员工有…...

blender 安装笔记 linux 2025

目录 linux安装blender&#xff1a; 运行后台渲染&#xff1a; 安装库&#xff1a; linux安装blender&#xff1a; # 进入下载目录 cd /shared_disk/users/lbg/soft/ # 下载 Blender 4.3.2 安装包 wget https://download.blender.org/release/Blender4.3/blender-4.3.2-l…...

99.11 金融难点通俗解释:净资产收益率(ROE)VS投资资本回报率(ROIC)VS总资产收益率(ROA)

目录 0. 承前1. 简述&#xff1a;三大收益率指标对比2. 比喻&#xff1a;三大指标对比2.1 简单对比2.2 生动比喻2.3 区别要点 3. 实际应用3.1 选择建议 4. 总结5. 实现代码 0. 承前 如果想更加全面清晰地了解金融资产组合模型进化论的体系架构&#xff0c;可参考&#xff1a; …...

【深度学习入门】深度学习知识点总结

一、卷积 &#xff08;1&#xff09;什么是卷积 定义&#xff1a;特征图的局部与卷积核做内积的操作。 作用&#xff1a;① 广泛应用于图像处理领域。卷积操作可以提取图片中的特征&#xff0c;低层的卷积层提取局部特征&#xff0c;如&#xff1a;边缘、线条、角。 ② 高层…...

最小距离和与带权最小距离和

1. 等权中位数 背景&#xff1a; 给定一系列整数&#xff0c;求一个整数x使得x在数轴上与所有整数在数轴上的距离和最小。 结论&#xff1a; 这一系列的整数按顺序排好后的中位数(偶数个整数的中位数取 n 2 或 n 2 1 \frac{n}{2}或\frac{n}{2}1 2n​或2n​1都可)一定是所求点…...

有哪些常见的 Vue 错误?

在使用 Vue.js 开发应用时&#xff0c;开发者可能会遇到各种错误。以下是一些常见的 Vue 错误以及如何避免它们&#xff1a;为了更详细地解释常见的 Vue.js 错误&#xff0c;我们可以深入探讨每个类别&#xff0c;并提供更多的背景信息和解决方案。以下是针对常见错误的扩展说明…...

查看电脑或笔记本CPU的核心数方法及CPU详细信息

一、通过任务管理器查看 1.打开任务管理器 可以按下“Ctrl Shift Esc”组合键&#xff0c;或者按下“Ctrl Alt Delete”组合键后选择“任务管理器”来打开。 2.查看CPU信息 在任务管理器界面中&#xff0c;点击“性能”标签页&#xff0c;找到CPU使用记录区域&#xff0c…...

Python 轻松扫描,快速检测:高效IP网段扫描工具全解析

Python 轻松扫描&#xff0c;快速检测&#xff1a;高效IP网段扫描工具全解析 相关资源文件已经打包成EXE文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Python相关程序案例&#xff0c;秉着…...

AI Agent:AutoGPT的使用方法

AutoGPT的使用方法 准备工作: 安装Python:确保你的电脑上安装了Python 3.8或更高版本。获取OpenAI API密钥:访问https://platform.openai.com/account/api-keys获取API密钥,并保存备用。获取Google API及Google Search Engine ID(可选):若要使用谷歌搜索功能,需访问htt…...

RabbitMQ 在实际应用时要注意的问题

1. 幂等性保障 1.1 幂等性介绍 幂等性是数学和计算机科学中某些运算的性质,它们可以被多次应⽤,⽽不会改变初始应⽤的结果. 应⽤程序的幂等性介绍 在应⽤程序中,幂等性就是指对⼀个系统进⾏重复调⽤(相同参数),不论请求多少次,这些请求对系统的影响都是相同的效果. ⽐如数据库…...

ASP .NET Core 学习(.NET9)部署(一)windows

在windows部署 ASP .NET Core 的时候IIS是不二选择 一、IIS安装 不论是在window7 、w10还是Windows Server&#xff0c;都是十分简单的&#xff0c;下面以Windows10为例 打开控制面版—程序—启用或关闭Windows功能 勾选图中的两项&#xff0c;其中的子项看需求自行勾选&am…...

在Qt中实现点击一个界面上的按钮弹窗到另一个界面

文章目录 步骤 1&#xff1a;创建新窗口类步骤 2&#xff1a;设计窗口的 UI步骤 3&#xff1a;设计响应函数 以下是一个完整的示例&#xff0c;展示在Qt中如何实现在一个窗口中通过点击按钮弹出一个新窗口。 步骤 1&#xff1a;创建新窗口类 假设你要创建一个名为 WelcomeWidg…...

计算机组成原理(计算机系统3)--实验八:处理器结构拓展实验

一、实验目标&#xff1a; 了解MIPS的五级流水线&#xff0c;和在运行过程中的所产生的各种不同的流水线冒险&#xff1b;通过指令顺序调整&#xff0c;或旁路与预测技术来提高流水线效率&#xff1b;更加了解流水线细节和其指令的改善方法&#xff1b;更加深入了解动态分支预…...

pytest执行报错:found no collectors

今天在尝试使用pytest运行用例的时候出现报错&#xff1a;found no collectors&#xff1b;从两个方向进行排查&#xff0c;一是看文件名和函数名是不是符合规范&#xff0c;命名要是"test_*"格式&#xff1b;二是是否存在修改文件名的情况&#xff0c;如果修改过文件…...

Typescript 多个泛型参数详细解读

多个泛型参数的函数 : 函数中有多个泛型的参数。 示例&#xff1a; (() > {function getMsg<K, V>(value1: K, value2: V): [K, V] {return [value1, value2]}const arr1 getMsg<string,number>(jack,100.2345)console.log(arr1[0].split())console.log(arr1…...

等变即插即用图像重建

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 即插即用算法为解决反问题成像问题提供了一个流行的框架&#xff0c;该框架依赖于通过降噪器隐式定义图像先验。这些算法可以利用强大的预训练降噪器来解决各种成像任务&#xff0c;从而避免了在每…...

安卓14自由窗口圆角处理之绘制圆角轮廓线

背景&#xff1a; 前面文章已经分享过&#xff1a; 如何一行代码搞定自由窗口的圆角处理&#xff1f;-wms/自由窗口/sf实战开发 但是又有学员朋友提出另一个blog的成果&#xff1a; 安卓aosp14上自由窗口划线边框Freeform Caption实战开发-千里马framework实战 想要把划线和…...

2025.1.25 关于c++学习中拷贝构造的问题

在各种构造函数中&#xff0c;比如带参数的和不带参数的构造函数&#xff0c;全缺省的构造函数&#xff0c;最特别的就是拷贝构造函数&#xff0c;当类的实例化对象作为参数进行传递时就要自动调用拷贝构造函数 1.基本形式 class Time{ public://全缺省构造函数Time(int year…...