自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

原创 微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关

微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关

2022-10-03 16:18:27 2063 1

原创 JavaWeb笔记:第07章 MVC |EL |JST |Filter |Listener |JQuery |AJAX |Maven |JSON |Redis |Linux |Nginx

JavaWeb笔记:第07章 MVC |EL |JST |Filter |Listener |JQuery |AJAX |Maven |JSON |Redis |Linux |Nginx

2022-09-12 14:29:17 1242

原创 JavaWeb笔记:第06章 Tomcat |Servlet |HTTP协议 |request |response |ServletContext |Cookie |Session |JSP

JavaWeb笔记:第06章 Tomcat | Servlet | HTTP协议 | request | response | ServletContext | Cookie | Session

2022-07-16 23:50:14 579

原创 Javaweb笔记:第05章_HTML & CSS & JavaScript & XML

黑马程序员Java web课程笔记整理——HTML、CSS、JavaScript

2022-06-19 04:10:27 680

原创 Java web笔记:第04章_JDBC

Java web笔记之JDBC

2022-06-03 22:05:51 312

原创 Java web笔记:第03章_多表查询&事务

第03章_多表查询&事务1. 表连接查询1.1 多表查询1.2 笛卡尔积现象1.3 内连接1.3.1 隐式内连接1.3.2 显式内连接1.3.3 内连接查询步骤1.4 左外连接1.5 右外连接2. 子查询2.1 子查询结果的三种情况1. 表连接查询1.1 多表查询数据准备# 创建部门表create table dept( id int primary key auto_increment, name varchar(20));insert into dept (n

2022-05-31 19:28:54 300

原创 Javaweb笔记: 第02章_MySQL基础

这里写目录标题1. JavaWeb课程介绍1.1 什么JavaWeb?2. 本章内容3. MySQL数据库软件3.1 安装3.2 卸载3.3 MySQL服务启动(3种方法)3.4 MySQL登录3.5 MySOL目录结构3.6 SQL3.6.1 什么是SQL ?3.6.2 SQL通用语法3.6.3 SQL分类1. JavaWeb课程介绍1.1 什么JavaWeb?JavaWeb使用Java语言开发互联网项目简单理解:使用Java语言开发网站课程介绍:30天1.数据库:

2022-05-31 12:57:55 381

原创 JavaWeb笔记: 第01章_JavaSE回顾——Junit单元测试&反射&注解

这里写目录标题1. JavaWeb课程介绍一、为什么要学习JavaWeb?二、适用人群三、课程安排四、后期学习路径2. Java SE 内容补充2.1 Junit单元测试测试分类∶Junit使用∶在main方法里的测试Junit单元测试(白盒测试)2.2 反射获取class对象的方式class对象功能∶获取成员变量获取构造方法获取成员方法 & 获取类名反射案例2.3 注解1. JavaWeb课程介绍一、为什么要学习JavaWeb?学习目的: 获得现在主流开发技术Javaweb是什么

2022-05-30 21:49:25 283

原创 MySQL笔记:第19章_数据库备份与恢复

第19章_数据库备份与恢复1. 物理备份与逻辑备份2. mysqldump实现逻辑备份2.1 备份一个数据库2.2 备份全部数据库2.3 备份部分数据库2.4 备份部分表2.5 备份单表的部分数据2.6 排除某些表的备份2.7 只备份结构或只备份数据2.8 备份中包含存储过程、函数、事件2.9 mysqldump常用选项3. mysql命令恢复数据3.1 单库备份中恢复单库3.2 全量备份恢复3.3 从全量备份中恢复单库3.4 从单库备份中恢复单表4. 物理备份:直接复制整个数据库5.物理恢复:直接复制到数

2022-03-21 17:43:34 912

原创 MySQL笔记:第18章_主从复制

第18章_主从复制1. 主从复制概述1.1 如何提升数据库并发能力1.2 主从复制的作用第1个作用:读写分离。第2个作用就是数据备份第3个作用是具有高可用性2. 主从复制的原理2.1 原理剖析二进制日志转储线程 (Binlog dump thread)从库 I/O 线程从库 SQL 线程复制三步骤2.2 复制的基本原则3. 一主一从架构搭建3.1 准备工作3.2 主机配置文件3.3 从机配置文件3.4 主机:建立账户并授权3.5 从机:配置需要复制的主机3.6 测试3.7 停止主从同步3.8 后续4. 同步

2022-03-21 17:21:58 2163

原创 MySQL笔记:第17章_其他数据库日志

第17章_其他数据库日志1.MySQL支持的日志1.1日志类型1.2日志的弊端2.慢查询日志(slow query log)我们在讲解数据库事务时,讲过两种日志:重做日志、回滚日志。对于线上数据库应用系统,突然遭遇数据库宕机怎么办?在这种情况下,定位宕机的原因就非常关键。可以查看数据库的错误日志。因为日志中记录了数据库运行中的诊断信息,包括了错误、警告和注释等信息。比如:从日志中发现某个连接中的SQL操作发生了死循环,导致内存不足,被系统强行终止了。明确了原因,处理起来也就轻松了,系统很快就恢复了运行。

2022-03-20 23:15:48 1919

原创 MySQL笔记:第16章_多版本并发控制

第16章_多版本并发控制1.什么是MVCC2. 快照读与当前读2.1 快照读2.2 当前读3. 复习3.1 再谈隔离级别3.2隐藏字段、Undo Log版本链4. MVCC实现原理之ReadView4.1什么是ReadView4.2设计思路4.3 ReadView的规则4.4 MVCC整体操作流程5. 举例说明5.1 READ COMMITTED隔离级别下1.什么是MVCCMVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC是通过数据行的多个

2022-03-20 20:24:10 1412 2

原创 MySQL笔记:第15章_锁

第15章_锁1.概述2. MySQL并发事务访问相同记录2.1 读-读情况2.2 写-写情况2.3读-写或写-读情况2.4 并发问题的解决方案3. 锁的不同角度分类3.1从数据操作的类型划分:读锁、写锁1.锁定读2.写操作3.2 从数据操作的粒度划分:表级锁、页级锁、行锁1.表锁(Table Lock)① 表级别的S锁、X锁事务的隔离性由这章讲述的锁来实现1.概述锁是计算机协调多个进程或线程并发访问某一资源的机制。在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是针对一些敏感

2022-03-20 18:02:54 1786

原创 MySQL笔记:第14章_MySQL事务日志

第14章_MySQL事务日志1.redo日志1.1为什么需要REDO日志1.2 REDO日志的好处、特点1.3 redo的组成1.4 redo的整体流程1.5 redo log的刷盘策略1.6 不同刷盘策略演示1.流程图2.举例1.7 写入redo log buffer 过程1.补充概念:Mini-Transaction2. redo 日志写入log buffer3. redo log block的结构图1.8 redo log file1.相关参数设置2. 日志文件组3. checkpoint1.9 re

2022-03-20 15:45:46 1875

原创 MySQL笔记:第13章_事务基础知识

第13章_事务基础知识1.数据库事务概述1.1 存储引擎支持情况1.2 基本概念1.3事务的ACID特性原子性(atomicity)一致性(consistency)隔离型(isolation)持久性(durability)1.4 事务的状态活动的(active)部分提交的(partially committed)失败的(failed)中止的(aborted)提交的(committed)2. 如何使用事务2.1 显式事务2.2 隐式事务2.3 隐式提交数据的情况数据定义语言(Data definition l

2022-03-20 12:04:19 1769

原创 MySQL笔记:第12章_数据库其它调优策略

第12章_数据库其它调优策略1.数据库调优的措施1.1调优的目标1.2如何定位调优问题1.4调优的维度和步骤第1步:选择适合的DBMS第2步:优化表设计第3步:优化逻辑查询第4步:优化物理查询第5步:使用Redis或 Memcached 作为缓存第6步:库级优化2. 优化MySQL服务器2.1优化服务器硬件1.数据库调优的措施1.1调优的目标尽可能节省系统资源,以便系统可以提供更大负荷的服务(吞吐量更大)合理的结构设计和参数调整,以提高用户操作响应的速度(响应速度更快)减少系统的瓶颈,提高MyS

2022-03-20 08:49:06 991

原创 MySQL笔记:第11章_数据库的设计规范

第11章_数据库的设计规范1. 为什么需要数据库设计2.范式2.1范式简介2.2范式都包括哪些2.3 键和相关属性的概念2.4第一范式(1st NF)2.5 第二范式(2nd NF)1. 为什么需要数据库设计在设计数据表的时候,要考虑很多问题。比如:·用户都需要什么数据?需要在数据表中保存哪些数据?如何保证数据表中数据的正确性,当插入、删除、更新的时候该进行怎样的约束检查?如何降低数据表的数据冗余度,保证数据表不会因为用户量的增长而迅速扩张?如何让负责数据库维护的人员更方便地使用数据库?使用

2022-03-19 23:31:04 1995

原创 MySQL笔记:第10章_索引优化与查询优化

都有哪些维度可以进行数据库调优?简言之:索引失效、没有充分利用到索引―索引建立关联查询太多JOIN(设计缺陷或不得已的需求)――SQL优化服务器调优及各个参数设置(缓冲、线程数等)――调整my.cnf数据过多――分库分表关于数据库调优的知识点非常分散。不同的DBMS,不同的公司,不同的职位,不同的项目遇到的问题都不尽相同。这里我们分为三个章节进行细致讲解。虽然SQL查询优化的技术有很多,但是大方向上完全可以分成物理查询优化和逻辑查询优化两大块:物理查询优化是通过索引和表连接方式等技术来进

2022-03-19 17:46:07 2861 2

原创 MySQL笔记:第09章_性能分析工具的使用

第09章_性能分析工具的使用1. 数据库服务器的优化步骤2.查看系统性能参数3. 统计SQL的查询成本:last_query_cost在数据库调优中,我们的目标就是响应时间更快,哈吐量更大。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式1. 数据库服务器的优化步骤当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。整个流程划分成了 观察(Show status) 和 行动(Action) 两个部分。字母 S 的部分代表观察(会使用相应的分析工具),字

2022-03-19 13:18:23 1782

原创 MySQL笔记:第08章_索引的创建与设计原则

第08章_索引的创建与设计原则1.索引的声明与使用1.1索引的分类1.2创建索引2.在已经存在的表上创建索引1.索引的声明与使用1.1索引的分类MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。从功能逻辑上说,索引主要有4种,分别是普通索引、唯一索引、主键索引、全文索引按照物理实现方式,索引可以分为2种:聚簇索引和非聚簇索引按照作用字段个致进行划分,分成单列索引和联合索引 1.普通索引 在创建普通索引时,不附加任何限制条件,只是用于提高查询效率。这类索引可

2022-03-19 10:55:11 2353

原创 MySQL笔记:第07章_InnoDB数据存储结构

第07章_InnoDB数据存储结构1.数据库的存储结构:页1.1磁盘与内存交互基本单位:页1.2页结构概述1.3页的大小1.4页的上层结构2.页的内部结构第1部分:File Header(文件头部)和File Trailer (文件尾部)1.数据库的存储结构:页索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的存储引擎负责对表中数据的读取和写入工作。不同存储引擎中存放的格式一般是不同的,甚至有的

2022-03-19 09:20:34 1593

原创 MySQL笔记:第06章_索引的数据结构

第06章_索引的数据结构为什么使用索引索引及其优缺点索引概述索引优点索引缺点lnnoDB中索引的推演索引之前的查找在一个页中的查找在很多页中查找设计索引一个简单的索引设计方案InnoDB中的索引方案迭代1次:目录项记录的页迭代2次:多个目录项纪录的页③ 迭代3次:目录项记录页的目录页B+Tree常见索引概念聚簇索引二级索引(辅助索引、非聚簇索引)联合索引(属于非聚簇索引)InnoDB的B+树索引的注意事项一、根页面位置万年不动二、内节点(非叶节点)中目录项记录的唯一性三、一个页面最少存储2条记录MyISAM

2022-03-17 14:17:07 1495

原创 MySQL笔记:第05章_存储引擎

第05章_存储引擎1. 查看存储引擎2. 设置系统默认的存储引擎3. 设置表的存储引擎3.1 创建表时指定存储引擎3.2 修改表的存储引擎4. 引擎介绍4.1 InnoDB 引擎:具备外键支持功能的事务存储引擎4.2 MyISAM 引擎:主要的非事务处理存储引擎4.3 Archive 引擎:用于数据存档4.4 Blackhole 引擎:丢弃写操作,读操作会返回空内容4.5 CSV 引擎:存储数据时,以逗号分隔各个数据项4.6 Memory 引擎:置于内存的表4.7 Federated 引擎:访问远程表4.8

2022-03-17 08:31:58 1340

原创 Mysql笔记:第04章_逻辑架构

第04章_逻辑架构1. 逻辑架构剖析1.1 服务器处理客户端请求1.2 Connectors1.3 第1层:连接层1.4 第2层:服务层SQL Interface: SQL接口Parser: 解析器Optimizer: 查询优化器Caches & Buffers: 查询缓存组件1.5 第3层:引擎层1.6 存储层1.7 小结2. SQL执行流程2.1 MySQL 中的 SQL执行流程MySQL的查询流程:2.2 MySQL8中SQL执行原理2.3 MySQL5.7中SQL执行原理2.4 SQL语法顺

2022-03-16 22:54:15 1983

原创 MySQL笔记:第18章_MySQL8其它新特性

第18章_MySQL8其它新特性1. MySQL8新特性概述1.1 MySQL8.0 新增特性1. 更简便的NoSQL支持2.更好的索引3. 更完善的JSON支持4. 安全和账户管理5. InnoDB的变化6. 数据字典7. 原子数据定义语句8. 资源管理9. 字符集支持10. 优化器增强11. 公用表表达式12. 窗口函数13. 正则表达式支持14. 内部临时表15.日志记录16.备份锁17.增强的MySQL复制1.2 MySQL8.0移除的旧特性1. 查询缓存2.加密相关3.空间函数相关4.\N和NUL

2022-03-16 15:26:15 987

原创 MySQL笔记:第17章_触发器

第17章_触发器1. 触发器概述2. 触发器的创建2.1 创建触发器语法2.2 代码举例3. 查看、删除触发器3.1 查看触发器3.2 删除触发器4. 触发器的优缺点4.1 优点1、触发器可以确保数据的完整性。2、触发器可以帮助我们记录操作日志。3、触发器还可以用在操作数据前,对数据进行合法性检查。4.2 缺点1、触发器最大的一个问题就是可读性差2、相关数据的变更,可能会导致触发器出错。4.3 注意点触发器演示代码课后练习说明:本内容整理自尚硅谷B站MySQL视频>>尚硅谷B站MySQL视频

2022-03-16 14:34:28 1379

原创 MySQL笔记:第16章_变量、流程控制与游标

第16章_变量、流程控制与游标1. 变量1.1 系统变量1.1.1 系统变量分类1.1.2 查看系统变量1.2 用户变量1.2.1 用户变量分类1.2.2 会话用户变量1.2.3 局部变量1.2.4 对比会话用户变量与局部变量演示代码2. 定义条件与处理程序2.1 案例分析2.2 定义条件2.3 定义处理程序2.4 案例解决演示代码3. 流程控制3.1 分支结构之 IF3.2 分支结构之 CASE3.3 循环结构之LOOP3.4 循环结构之WHILE3.5 循环结构之REPEAT对比三种循环结构:3.6 跳

2022-03-14 09:00:46 1248

原创 MySQL笔记:第15章_存储过程与函数

第15章_存储过程与函数1. 存储过程概述1.1 理解1.2 分类2. 创建存储过程2.1 语法分析2.2 代码举例3. 调用存储过程3.1 调用格式3.2 代码举例3.3 如何调试存储过程演示代码4. 存储函数的使用4.1 语法分析4.2 调用存储函数4.3 代码举例4.4 对比存储函数和存储过程存储函数演示代码5. 存储过程和函数的查看、修改、删除5.1 查看5.2 修改5.3 删除演示代码6. 关于存储过程使用的争议6.1 优点6.2 缺点课后练习说明:本内容整理自尚硅谷B站MySQL视频>&

2022-03-13 23:04:27 1365

原创 MySQL笔记:第14章_视图

第14章_视图1. 常见的数据库对象2. 视图概述2.1 为什么使用视图?2.2 视图的理解演示3. 创建视图3.1 创建单表视图3.2 创建多表联合视图3.3 基于视图创建视图演示代码4. 查看视图演示代码5. 更新视图的数据5.1 一般情况5.2 不可更新的视图演示代码6. 修改、删除视图6.1 修改视图6.2 删除视图演示代码7. 总结7.1 视图优点7.2 视图不足课后练习说明:本内容整理自尚硅谷B站MySQL视频>>尚硅谷B站MySQL视频1. 常见的数据库对象对象描述

2022-03-13 12:33:16 1302

原创 MySQL笔记:第13章_约束

第13章_约束一级目录二级目录三级目录ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a keyERROR 1063 (42000): Incorrect column specifier for column 'ename' 因为ename不是整数类一级目录二级目录三级目录约束(constraint)概述1.1 为什么需要约

2022-03-13 09:09:52 1664

原创 MySQL笔记:第12章_MySQL数据类型精讲

第12章_MySQL数据类型精讲1. MySQL中的数据类型2. 整数类型2.1 类型介绍2.2 可选属性2.2.1 M2.2.2 UNSIGNED2.2.3 ZEROFILL2.3 适用场景2.4 如何选择?演示代码3. 浮点类型3.1 类型介绍3.2 数据精度说明3.3 精度误差说明4. 定点数类型4.1 类型介绍4.2 开发中经验演示代码5. 位类型:BIT演示代码6. 日期与时间类型6.1 YEAR类型6.2 DATE类型6.3 TIME类型6.4 DATETIME类型6.5 TIMESTAMP类型

2022-03-12 12:32:59 1204

原创 MySQL笔记:第11章_数据处理之增删改

第11章_数据处理之增删改1. 插入数据1.1 实际问题1.2 方式1:VALUES的方式添加1.3 方式2:将查询结果插入到表中演示代码2. 更新数据演示代码3. 删除数据演示代码4. MySQL8新特性:计算列演示代码5. 综合案例演示代码课后练习说明:本内容整理自尚硅谷B站MySQL视频>>尚硅谷B站MySQL视频1. 插入数据1.1 实际问题解决方式:使用 INSERT 语句向表中插入数据。1.2 方式1:VALUES的方式添加使用这种语法一次只能向表中插入一条数据。情况

2022-03-09 12:16:47 1313

原创 MySQL笔记:第10章_创建和管理表

MySQL笔记:第10章_创建和管理表1. 基础知识1.1 一条数据存储的过程1.2 标识符命名规则1.3 MySQL中的数据类型2. 创建和管理数据库2.1 创建数据库2.2 使用数据库2.3 修改数据库2.4 删除数据库代码演示3. 创建表3.1 创建方式13.2 创建方式23.3 查看数据表结构代码演示4. 修改表4.1 追加一个列4.2 修改一个列4.3 重命名一个列4.4 删除一个列代码演示5. 重命名表代码演示6. 删除表7. 清空表代码演示8. 内容拓展拓展1:阿里巴巴《Java开发手册》之M

2022-03-09 10:32:21 1682

原创 MySQL笔记:第09章_子查询

第09章_子查询1. 需求分析与问题解决1.1 实际问题1.2 子查询的基本使用1.3 子查询的分类分类方式1:分类方式2:演示代码2. 单行子查询2.1 单行比较操作符2.2 代码示例2.3 HAVING 中的子查询2.4 CASE中的子查询2.5 子查询中的空值问题2.5 非法使用子查询演示代码3. 多行子查询3.1 多行比较操作符3.2 代码示例3.3 空值问题演示代码4. 相关子查询4.1 相关子查询执行流程4.2 代码示例4.3 EXISTS 与 NOT EXISTS关键字4.4 相关更新4.4

2022-03-06 00:21:25 1747

原创 MySQL笔记:第08章_聚合函数

第08章_聚合函数1. 聚合函数介绍1.1 AVG和SUM函数1.2 MIN和MAX函数1.3 COUNT函数演示代码2. GROUP BY2.1 基本使用2.2 使用多个列分组演示代码3. HAVING3.1 基本使用3.2 WHERE和HAVING的对比演示代码4. SELECT的执行过程4.1 查询的结构4.2 SELECT执行顺序4.3 SQL 的执行原理演示代码课后练习说明:本内容整理自尚硅谷B站MySQL视频>>尚硅谷B站MySQL视频上一章讲到了 SQL 单行函数。实际上 SQ

2022-03-05 22:45:00 1574

原创 MySQL笔记:第07章_单行函数

第07章_单行函数1. 函数的理解1.1 什么是函数1.2 不同DBMS函数的差异2. 数值函数2.1 基本函数2.2 角度与弧度2.3 三角函数2.4 指数函数、对数函数2.5 进制间的转换3. 字符串函数4. 日期和时间函数4.1 获取日期、时间4.2日期与时间戳的转换4.3 获取月份、星期、星期数、天数等函数4.4 日期的操作函数4.5 时间和秒钟转换的函数4.6 计算日期和时间的函数第1组:第2组:4.7 日期的格式化与解析5.流程控制函数6. 加密与解密函数7. MySQL信息函数8. 其他函数

2022-03-05 20:50:54 1809

原创 MySQL笔记:第06章_多表查询

第06章_多表查询多表查询概述1.一个案例引发的多表连接1.1 案例说明多表查询概述多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。为什么不把多张表合成一张表?答:多张表合成一张表会导致很多信息的冗余!将不必要的冗余信息从磁盘导入内存将导致很多的磁盘IO。1.一个案例引发的多表连接1.1 案例

2022-03-05 12:42:12 2457

原创 leetcode 149. 直线上最多的点数(枚举)

leetcode149. 直线上最多的点数(困难)题目描述解题思路Java代码题目描述题目链接:leetcode 149. 直线上最多的点数给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。示例 1:输入:points = [[1,1],[2,2],[3,3]]输出:3示例 2:输入:points = [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出:4提

2022-02-22 10:29:26 431

原创 leetcode 75. 颜色分类(简单模拟)

leetcode 75. 颜色分类(简单)题目描述解题思路Java代码题目描述题目链接:leetcode 75. 颜色分类给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库的sort函数的情况下解决这个问题。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums =

2022-02-19 10:11:11 306

原创 leetcode 1481. 不同整数的最少数目(贪心+排序)

题解题目描述解题思路C++代码Java代码题目描述给你一个整数数组 arr 和一个整数 k 。现需要从数组中恰好移除 k 个元素,请找出移除后数组中不同整数的最少数目。示例 1:输入:arr = [5,5,4], k = 1输出:1解释:移除 1 个 4 ,数组中只剩下 5 一种整数。示例 2:输入:arr = [4,3,1,1,3,3,2], k = 3输出:2解释:先移除 4、2 ,然后再移除两个 1 中的任意 1 个或者三个 3 中的任意 1 个,最后剩下 1 和 3 两种整

2022-02-18 07:43:39 978

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除