自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面经-计算机网络-数据结构-堆

堆是一种满足以下条件的树:堆中的每一个节点值都大于等于(或小于等于)子树中所有节点的值。或者说,任意一个节点的值都大于等于(或小于等于)所有子节点的值。「插入元素」:先将元素放至数组末尾,再自底向上堆化,将末尾元素上浮「删除堆顶元素」:删除堆顶元素,将末尾元素放至堆顶,再自顶向下堆化,将堆顶元素下沉。也可以自底向上堆化,只是会产生“气泡”,浪费存储空间。最好采用自顶向下堆化的方式。

2024-07-09 18:47:09 1073

原创 面经-计算机网络-数据结构-图

图是一种较为复杂的非线性结构。根据前面的内容,我们知道:线性数据结构的元素满足唯一的线性关系,每个元素(除第一个和最后一个外)只有一个直接前趋和一个直接后继。树形数据结构的元素之间有着明显的层次关系。但是,树形结构的元素之间的关系是任意的。简单来说,图就是由顶点的有穷非空集合和顶点之间的边组成的集合。,其中,G 表示一个图,V 表示顶点的集合,E 表示边的集合。

2024-07-09 13:13:25 963

原创 面经-计算机网络-数据结构

当你想回头看 2 这个页面的时候,你点击回退按钮,我们依次把 4,3 这两个页面从 Stack1 弹出,然后压入 Stack2 中。答案是将这些请求放在队列中,当有空闲线程的时候,会循环反复从队列中获取任务来执行。当进行入队、出队操作的时候,front 和 rear 都会持续往后移动,当 rear 移动到最后的时候,我们无法再往队列中添加数据,即使数组中还有空余空间,这种现象就是。当队列为空的时候,出队操作阻塞,当队列满的时候,入队操作阻塞。的时候队列为空,循环队列中则不一样,也可能为满,如上图所示。

2024-07-07 17:44:16 978

原创 面经-计算机基础

表明到这个分组位置的所有分组都已经正确收到了。

2024-07-01 20:14:31 887

原创 面经-数据库

MySQL是⼀种。

2024-06-30 15:57:52 1473

原创 面经-常用框架

Spring是⼀种轻量级开发框架,旨在提⾼开发⼈员的开发效率以及系统的可维护性。基础可以说Spring其他所有的功能都需要依赖于该类库。主要提供IoC依赖注⼊功能。: 该模块为与AspectJ的集成提供⽀持。:提供了⾯向切⾯的编程实现。: Java数据库连接。Java消息服务。⽤于⽀持Hibernate等ORM⼯具。为创建Web应⽤程序提供⽀持。提供了对JUnit和TestNG测试的⽀持。

2024-06-28 14:09:09 885

原创 面经-系统设计

Cookie和Session都是⽤来跟踪浏览器⽤户身份的会话⽅式,但是两者的应⽤场景不太⼀样。

2024-06-27 18:35:18 261

原创 03.Java内存区域(运行时数据区)

1、运行时数据区分成哪几部分,每一部分的作用是什么?程序计数器:每个线程会通过程序计数器记录当前要执行的的字节码指令的地址程序计数器可以控制Java虚拟机栈:虚拟机栈采用栈的数据结构来管理方法调用中的基本数据(局部变量、操作数等),每一个方法的调用使用一个栈帧来保存。存储的是native本地方法的栈帧。方法区中主要存放的是类的元信息,同时还保存了常量池堆堆中存放的是创建出来的对象,这也是最容易产生内存溢出的位置2、不同JDK版本之间运行时数据区域的区别是什么?

2024-06-27 13:58:52 1092

原创 02详解字节码文件【下】-类加载器

1.类加载器的分类类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。类加载器只参与加载过程中的字节码获取并加载到内存这一部分。类加载器的作用是什么?类加载器(ClassLoader)负责在类加载过程中的字节码获取并加载到内存这一部分。通过加载字节码数据放入内存转换成byte[],接下来调用虚拟机底层方法将将byte[]转换成方法区和堆中的数据1.类加载器的分类。

2024-06-26 22:18:25 830

原创 134.加油站

注意:最后要sum>0才会有起点。

2024-06-26 20:45:42 223

原创 238.除自身以外数组的乘积

思路:相乘的元素不能有自己,相当于左边相乘 * 右边相乘。可以定义一个数组用来记录当前元素的左边所有元素的乘积,定义一个变量记录右边元素的乘积。遍历数组,左右相乘,右边元素乘积需要累乘。注意:不能使用两次for循环,时间复杂度就变成O(n²)了。

2024-06-26 15:55:08 386

原创 380.0(1)时间插入、删除和获取随机元素

如果存在,首先在map中找到索引位置index,再与list中的最后一个元素交换位置(将最后一个元素放入index),然后修改map中的记录。最后删除最后一个元素和map中的要删除元素的记录即可。2.删除的时候如果原地删除,会导致其他的元素的索引值都会发生变化。如果不存在,那么就在list中插入,在map中记录它的索引,值为key,索引为value。注意:1.因为list不能根据值找索引,所以需要map来记录索引。如果存在,则返回false;如果不存在,返回false;在数组长度范围内获取随机值。

2024-06-25 20:27:45 236

原创 【★】274.H 指数

给你一个整数数组citations,其中表示研究者的第i篇论文被引用的次数。计算并返回该研究者的 h。根据维基百科上h代表“高引用次数” ,一名科研人员的h是指他(她)至少发表了h篇论文,并且有h篇论文被引用次数大于等于h。如果h有多种可能的值,h是其中最大的那个。01356。

2024-06-25 16:31:10 332

原创 45.跳跃游戏Ⅱ(最少跳跃次数)

注意:1.循环结束条件为P2大于数组最大索引2.每轮找最大射程是在P1-P2这个区间内找。int p1 = 0;//第一次跳的起点int p2 = 1;//第二次跳的起点//每次最多跳到哪个索引i < p2;i++) {//两次跳跃点之间的最大射程,可以就更新,更新第一起跳点至原第二起跳点,第二起跳点至最远射程后的那个点p1=p2;p2=far+1;count++;

2024-06-24 21:59:54 182

原创 55.跳跃游戏

注意:更新射程必须保证在当前射程范围内,且射程更大时才能更新。i++) {

2024-06-24 14:34:29 176

原创 122.买卖股票的最佳时机(多次买卖)

随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。第一种比前一天的价格高,那么可以前一天买入今天卖出,利润累加。即使最后不是4是8,也可以选择6入8出,和3入8出的总利润是一样的。在每一天,你可以决定是否购买和/或出售股票。最大总利润为 4 + 3 = 7。

2024-06-24 14:08:16 537

原创 121.买卖股票的最佳时机

给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。5在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。0。

2024-06-24 13:40:01 404

原创 189.轮转数组

给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。

2024-06-23 23:23:39 141

原创 169.多数元素(众数)

思路:由于众数且出现次数大于n/2,所以该数的总长度加起来肯定超过了数组长度的一半。可以将数组排序,然后数组长度一半的位置肯定为该数(无论数小数大)。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。注意:返回的众数只有一个。注意:返回的众数只有一个。

2024-06-23 19:05:42 207

原创 80.除有序数组中的重复项II(留两个相同的)

快指针right用来寻找不重复元素,慢指针left用来确认有效元素。定义一个boolean变量K用来记录元素重复的次数.如果重复次数为0则可以继续保留一个K为true,此时快慢指针均向后走一步;如果重复次数为0不可以继续重复K为false,此时快指针后走一步,慢指针不动。如果重复次数为0不可以继续重复K为false,此时快指针后走一步,慢指针不动。注意:快指针可能走的很快,当K=false时快慢指针指向的元素相等但是慢指针后面的元素不等于快指针,所以需要赋值。,返回删除后数组的新长度。

2024-06-23 18:45:36 259

原创 26.删除有序数组中的重复项

返回删除后数组的新长度。删除重复出现的元素,使每个元素。

2024-06-23 18:05:49 645

原创 27. 移除元素

你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。元素的顺序可能发生改变。注意这五个元素可以任意顺序返回。

2024-06-23 18:02:27 144

原创 88. 合并两个有序数组

【代码】88. 合并两个有序数组。

2024-06-21 18:15:59 79

原创 02详解字节码文件(上)

类加载器,运行时数据区域,执行引擎,本地接口。

2024-06-20 22:09:54 390

原创 01初识JVM

将热点代码解释并优化成机器码后保存至内存,当再次执行热点代码时直接从内存中调用。减少了一次解释的调用,提高了性能。

2024-06-20 20:33:25 266

原创 MYSQL基础版总结思维导图

CHAR类型由于是固定长度,因此在存储时不会像VARCHAR那样需要额外的空间来存储字符串的长度信息。这意味着CHAR在存储上可以更加紧凑,减少了存储空间的碎片化,从而在读取数据时可能会更快。:由于CHAR是固定长度的,数据库系统在存储时可以更容易地对数据进行内存对齐,这有助于提高处理速度,尤其是在处理大量数据时。:某些数据库系统会对CHAR类型的数据进行特定的性能优化,因为它们知道每个字段的确切长度,这使得索引和搜索操作更加高效。:由于CHAR。

2024-06-16 16:53:35 682

原创 MYSQL运维篇

2.5小结安装。

2024-06-14 17:47:41 307

原创 MYSQL管理

1.系统数据库2.常用工具2.1MYSQL2.2mysqladmin2.3mysqlbinlog2.4mysqlshow2.5mysqldump2.6mysqlimport3.小结

2024-06-11 18:16:29 102

原创 InnoDB引擎

2.2.2通用表空间​​​​​​​​​​​​​​。

2024-06-11 16:11:44 164

web的pdf讲义资料

web的pdf讲义资料

2024-06-19

空空如也

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

TA关注的人

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