自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试记录2026

关键点:Tomcat 此时是跑在你的 JVM 进程内部的一个线程(默认叫 http-nio-8080-exec-N),而不是独立进程。3)过滤器只能获取request和response,拦截器可以拿到方法上的注解、方法名和所属类,颗粒度比较细,拦截器可以用来实现接口鉴权;1)过滤器Filter是位于Servlet的规范,拦截器Interceptor是SpringMVC的;创建5个核心线程进行领取5个任务,剩余任务进入队列,等核心线程空出来之后再去领取下个任务进行,并不会创建额外的线程。

2026-10-11 13:59:34 172

原创 牛客:BISHI9 田忌赛马

现在你已经知道了齐威王的马匹上场的顺序,将在第一、二、三场上场的马匹速度分别为 v1,v2,v3v1​,v2​,v3​。同时,你也已经知道了田忌所拥有的马匹速度,分别为 a1,a2,a3a1​,a2​,a3​。第二行输入三个整数 a1,a2,a3(1≤ai≤9)a1​,a2​,a3​(1≤ai​≤9) 代表田忌拥有的马匹速度。第一行输入三个整数 v1,v2,v3(1≤vi≤9)v1​,v2​,v3​(1≤vi​≤9) 代表齐威王按上场顺序的马匹速度。1.数据量小可以直接枚举法暴力破解。

2026-10-13 13:29:39 29

原创 牛客:BISHI8 大整数哈希

给定初始映射 f ⁣:[0,264)→[0,264)f:[0,264)→[0,264),对任意 xx 初始 f(x)=0f(x)=0。输出一个整数,表示 ∑i=1ni×ansi(mod264)∑i=1n​i×ansi​(mod264)。接下来的 nn 行,每行包含两个整数 x,y (0≤x,y<264)x,y (0≤x,y<264)。求 ∑i=1ni×ansi(mod264)∑i=1n​i×ansi​(mod264)。第一行包含整数 n (1≤n≤5×106)n (1≤n≤5×106);

2026-10-13 12:51:55 123

原创 牛客:BISHI7 字符串哈希

给定 NN 个字符串 s1,s2,…,sNs1​,s2​,…,sN​,其中每个字符串仅由数字和大小写字母组成且区分大小写。请计算这 NN 个字符串中不同字符串的个数。接下来 NN 行,每行输入一个字符串 sisi​,满足 1≦∣si∣≦15001≦∣si​∣≦1500。2.通过Set类型存储数据,不会重复存储数据,直接添加就好,不需要手动排除;第一行输入整数 N (1≦N≦104)N (1≦N≦104)。1.通过List类型存储数据,需要每次判断是否存在;输出一个整数,表示不同字符串的数量。

2026-10-13 12:34:00 181

原创 牛客:BISHI6 【模板】整数优先队列

∙ ∙ 若 op=1op=1,则后接整数 x (1≤x<231)x (1≤x<231);第一行包含整数 n (1≤n≤106)n (1≤n≤106),表示操作总数。对于每个查询操作(op=2op=2),输出一行,包含当前多重集合中最小元素。∙ ∙ 若 op=2op=2 或 op=3op=3,则仅包含 opop。1. 1.​ 插入操作:给定整数 xx,将 xx 加入集合 SS;3. 3.​ 删除操作:删除 SS 中的一个最小元素。2. 2.​ 查询操作:输出 SS 中的最小元素;

2026-10-13 12:25:58 97

原创 牛客:BISHI5 【模板】多重集合操作

接下来 nn 行,每行输入两个整数 optopt 和 xx(0≦∣x∣≦1060≦∣x∣≦106),optopt 表示操作类型,1≦opt≦61≦opt≦6。∙ ∙操作 5:查询整数 xx 在集合 MM 中的前驱(定义为小于 xx 的最大元素),若不存在则返回 −1−1。∙ ∙操作 6:查询整数 xx 在集合 MM 中的后继(定义为大于 xx 的最小元素),若不存在则返回 −1−1。∙ ∙操作 2:从集合 MM 删除一个整数 xx,若 xx 不存在,则忽略;若存在多个,则只删除一个。

2026-10-13 12:17:41 178

原创 牛客:BISHI4 【模板】集合操作

对于操作 1、2、3、5、61、2、3、5、6,输入两个整数 optopt 和 xx(1≦opt≦61≦opt≦6,0≦x≦1060≦x≦106),分别表示操作类型和操作的参数;∙ ∙操作 55:查询集合 MM 中 xx 的前驱(前驱定义为小于 xx 且最大的数),如果前驱不存在,则输出 −1−1。∙ ∙操作 66:查询集合 MM 中 xx 的后继(后继定义为大于 xx 且最小的数),如果后继不存在,则输出 −1−1。∙ ∙操作 44:查询集合 MM 中元素的个数,即集合 MM 的大小。

2026-10-13 12:02:22 129

原创 牛客:BISHI3 【模板】队列操作

∙ ∙`2`:若队列非空,则仅将队头元素出队,否则输出 `ERR_CANNOT_POP`;∙ ∙`3`:查询并输出队首元素,队列为空时输出 `ERR_CANNOT_QUERY`;∙ ∙`1 x`:将整数 x(−109≦x≦109)x(−109≦x≦109) 入队;第一行包含整数 n (1≦n≦105)n (1≦n≦105),表示操作总数。对于每个操作 `2`、`3`、`4`,按执行顺序,每行输出对应的结果。接下来 nn 行,每行描述一个操作,格式如上所述。∙ ∙`4`:输出队列当前元素数量。

2026-10-13 11:45:36 144

原创 牛客:BISHI2 【模板】栈的操作

∘ ∘ “push x”,将整数 x (−109≦x≦109)x (−109≦x≦109) 入栈;输入的第一行包含一个整数 n (1≦n≦105)n (1≦n≦105),表示操作总数;∙ ∙ query():若栈非空,则输出栈顶元素;∙ ∙ pop():若栈非空,则删除栈顶元素;对每组数据,按操作顺序依次输出所有需要输出的结果,每次输出占一行。∘ ∘ “pop”、“query”、“size”,执行对应操作。∙ ∙ push(x):将整数 xx 入栈;∙ ∙ size():输出栈中元素的数量。

2026-10-12 23:14:43 217

原创 牛客:BISHI1 【模板】序列操作

4. 4.​输入格式为 `4 i x`,表示在下标为 ii 的元素与下标为 i+1i+1 的元素之间插入整数 xx(起始下标为 00,0≦i<∣序列∣,1≦x≦1090≦i<∣序列∣,1≦x≦109);1. 1.​输入格式为 `1 x`,表示向序列末尾增加一个整数 x(1≦x≦109)x(1≦x≦109);3. 3.​输入格式为 `3 i`,表示输出序列中下标为 ii(起始下标为 00)的元素;2. 2.​输入格式为 `2`,表示删除序列末尾的元素(保证此时序列非空);

2026-10-12 22:49:57 150

原创 牛客:HJ21 简单密码

∙ ∙对于密码中的小写字母,参考九键手机键盘,将它们映射为对应的数字,具体地,abcabc 对应数字 22 、defdef 对应数字 33 、ghighi 对应数字 44 、jkljkl 对应数字 55 、mnomno 对应数字 66 、pqrspqrs 对应数字 77 、tuvtuv 对应数字 88 、wxyzwxyz 对应数字 99;在一行上输入一个长度为 1≦length(s)≦1001≦length(s)≦100 的字符串 ss ,代表给定的密码。∙ ∙对于密码中的数字,保持不变。

2026-10-12 15:44:27 101

原创 牛客:HJ165 小红的优惠券

小红的购物车结算金额为 nn 元,她手中有 mm 张优惠券。第 jj 张优惠券的规则为“满 ajaj​ 元立减 bjbj​ 元”,即若 n≧ajn≧aj​,则使用该券后需支付 n−bjn−bj​ 元。接下来 mm 行,第 jj 行输入两个整数 aj,bj(1≦bj≦aj≦105)aj​,bj​(1≦bj​≦aj​≦105),描述第 jj 张优惠券。第一行输入两个整数 n,m(1≦n≦105;输出一个整数,表示小红使用最优策略后需支付的最少金额。

2026-10-11 07:48:01 184

原创 牛客:HJ166 讨厌鬼进货

第一行输入两个整数 n,x(1≦n≦105;∙ ∙ 在网购平台一次性购买全部 nn 种,花费 xx 元(不能拆分)。∙ ∙ 在供应商 AA 以 aiai​ 元购得第 ii 种;∙ ∙ 在供应商 BB 以 bibi​ 元购得第 ii 种;2、第二轮循环每次获取b价格和a的价格对比,累加便宜的;

2026-10-11 07:32:59 119

原创 牛客:HJ170 01序列

给定一个数组 arrayarray ,数组中只包含 11 和 00 ,且数组中的 11 都不相邻。2、3 -> 1 2->0 4->1 5->2,可修改数量为中间0的个数-1然后除以2;输入一个数 m(1≤m≤105)m(1≤m≤105) 表示 arrayarray 的长度。例2 array=[1,0,0,0,1],n=2 输出 false。例1 array=[1,0,0,0,1],n=1 输出 true。3、需要考虑末尾不是1的情况,这种直接用0的个数除2就好了;1、统计1和1之间0的个数;

2026-10-10 21:18:18 933

原创 HJ15 求int型正整数在内存中存储时1的个数

对于给定的 int 型的十进制整数 nn,统计其在内存中存储时 11 的个数。换句话说,即统计其二进制表示中 11 的个数。在一行上输入一个整数 n(0≦n<231)n(0≦n<231),代表给定的数字。在一行上输出一个整数,代表 nn 的二进制表示中 11 的个数。2、每次对2进行取余,取余为1,则计算+1;1、while循环,0和1单独计算;3、对2进行除法,进入下一次循环。

2026-10-10 20:42:48 132

原创 HJ14 字符串排序

从字符串的第一个字符开始逐个比较,直至发现第一个不同的位置,比较这个位置字符的 Ascii 码,Ascii 码较小(‘A’<‘B’⋯<‘Z’<‘a’<⋯<‘z’‘A’<‘B’⋯<‘Z’<‘a’<⋯<‘z’)的字符串字典序也较小。此后 nn 行,每行输入一个长度 1≦length(s)≦1001≦length(s)≦100,由大小写字母构成的字符串 ss,代表一个单词。第一行输入一个整数 n(1≦n≦103)n(1≦n≦103) 代表给定的单词个数。一共 nn 行,每行输出一个字符串,代表排序后的结果。

2026-10-09 13:56:25 55

原创 HJ13 句子逆序

对于给定的若干个单词组成的句子,每个单词均由大小写字母混合构成,单词间使用单个空格分隔。输出以单词为单位逆序排放的结果,即仅逆序单词间的相对顺序,不改变单词内部的字母顺序。除此之外,保证每个单词非空,由大小写字母混合构成,且总字符长度不超过 103103。在一行上输入若干个字符串,每个字符串代表一个单词,组成给定的句子。3、通过String自带的join函数,通过空格将数组拼接起来;在一行上输出一个句子,代表以单词为单位逆序排放的结果。2、建立新的数组通过循环,从后往前获取字符串内容;

2026-10-09 07:55:37 170

原创 HJ12 字符串反转

在一行上输入一个长度 1≦length(s)≦1031≦length(s)≦103,仅由小写字母构成的字符串 ss。2、别人的做法,将字符串转换成字符流,然后接住自带的反转方法;对于给定的仅由小写字母构成的字符串 ss,将其倒过来输出。在一行上输出一个字符串,代表颠倒后的字符串。1、字符串拆成字符,然后从后往前拼接;

2026-10-08 19:31:46 161

原创 HJ10 字符个数统计

备注:受限于输入,本题实际输入字符集为 ASCII 码在 3333 到 126126 范围内的可见字符。输入一个长度 1≦length(s)≦5001≦length(s)≦500,仅由图片中的可见字符构成的字符串 ss。在一行上输出一个整数,代表给定字符串中 ASCII 码在 00 到 127127 范围内的不同字符的个数。对于给定的字符串,统计其中的 ASCII 码在 00 到 127127 范围内的不同字符的个数。2、存储每个出现的字符,再次出现时跳过,然后统计大小;1、将字符串拆分成字符;

2026-10-08 19:25:32 135

原创 HJ11 数字颠倒

对于给定的非负整数 nn ,将其以字符串的形式颠倒后输出。这意味着,如果 nn 的末尾含 00 ,那么返回的字符串开头也需要含 00。在一行上输入一个非负整数 n(0≦n<230)n(0≦n<230) 代表给定的整数。2、根据字符串长度从后往前一次获取字符,然后再进行拼接;1、数字长度不定,转换成字符串然后再倒转会比较方便;在一行上输出一个字符串,代表颠倒后的数字。

2026-10-08 19:09:32 226

原创 HJ8 合并表记录

此后 nn 行,第 ii 行输入两个整数 xi,yi(0≦xi≦11 111 111;1≦yi​≦105) 代表数据表的第 ii 条记录的索引和数值。请对表索引相同的记录进行合并(即将相同索引的数值进行求和运算),随后按照索引值的大小从小到大依次输出。一共若干行(视输入数据变化),第 ii 行输出两个整数,代表合并后数据表中第 ii 条记录的索引和数值。第一行输入一个整数 n(1≦n≦500)n(1≦n≦500) 代表数据表的记录数。

2026-10-08 18:53:46 153

原创 HJ9 提取不重复的整数

对于给定的正整数 nn ,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。具体地,如果遇到相同数字,保留在最右侧出现的第一个数字。在一行上输入一个整数 n(1≦n≦108)n(1≦n≦108) 代表给定的整数。保证 nn 的最后一位不为 00。2、将不重复的字符存储到新的字符串中、重复的不做处理继续循环;1、将数字转换成字符串,这样方便从右向左数;在一行上输出一个整数,代表处理后的数字。

2026-10-08 15:22:48 117

原创 HJ6 质数因子

对于给定的整数 nn,从小到大依次输出它的全部质因子。即找到这样的质数 p1,p2,⋯ ,pkp1​,p2​,⋯,pk​,使得 n=p1×p2×⋯×pkn=p1​×p2​×⋯×pk​。

2026-10-07 23:14:24 156

原创 HJ5 进制转换

2.根据16进制特性从后往前开始计算;1.将字符串转换成单独的字符数组;3.进行A~F的匹配;

2026-10-07 18:34:52 34

原创 HJ4 字符串分隔

2.将字符数组每8个拼接成一个完整字符串;1.读取字符串,并对字符串进行分割;3.判断剩余字符串大小,并用0补齐。

2026-10-07 17:58:21 32

原创 HJ2 计算某字符出现次数

1.将字符串中所有字符统一转换为小写(也可转换成大写);2.将目标字符转换成对应大小写;3.循环匹配,匹配上则次数+1;

2026-10-07 17:40:41 21

原创 HJ1 字符串最后一个单词的长度

2.利用字符串的split方法进行分割成字符串组;3.获取最后一个字符串的长度并输出;

2026-10-07 17:02:50 191

原创 VUE界面按钮点击一次后弹窗失效

在弹窗界面添加该模块,每次弹窗界面状态修改后需提交给父界面,否则父界面弹窗始终处于打开状态,导致按钮失效无法再次打开。弹窗按钮第一次正常弹窗,之后点击按钮失效不弹窗。

2026-09-12 10:47:03 12

原创 2244. 完成所有任务需要的最少轮数 --力扣 -- JAVA

表示任务的难度级别。在每一轮中,你可以完成 2 个或者 3 个。轮数,如果无法完成所有任务,返回。返回完成所有任务需要的。

2024-05-14 14:39:47 329

原创 33. 搜索旋转排序数组 --力扣 --JAVA

在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2]。整数数组 nums 按升序排列,数组中的值 互不相同。

2024-04-13 11:25:19 465

原创 2924. 找到冠军 II --力扣 --JAVA

一个冠军,则返回将会成为冠军的队伍。在这场比赛中,如果不存在某支强于。表示这个有向无环图,其中。

2024-04-13 10:02:12 403

原创 670. 最大交换 --力扣 --JAVA

可以交换一次数字中的任意两位。返回你能得到的最大值。给定一个非负整数,你。

2024-01-22 11:26:16 604

原创 2696. 删除子串后的字符串最小长度 --力扣 --JAVA

你可以对此字符串执行一些操作,在每一步操作中,你可以从。,删除子串后,重新连接出的字符串可能会产生新的。子串,返回可获得的最终字符串的。英文字符组成的字符串。通过执行操作,删除所有。

2024-01-10 19:03:54 612

原创 383. 赎金信 --力扣 --JAVA

能c里面的字符构成。

2024-01-07 21:56:45 505

原创 2487. 从链表中移除节点 --力扣 --JAVA

移除每个右侧有一个更大数值的节点。给你一个链表的头节点。返回修改后链表的头节点。

2024-01-03 11:57:52 550

原创 官方文档整理

Redis Documentation | Redis Dokcer docker | Docker Docs Keras Keras 3 API documentation

2024-01-02 18:04:15 510

原创 ConcurrentHashMap源码学习

如果当前hash位置的节点是树类型的节点,调用putTreeVal方法来查找和插入节点(先判断节点是否存在,存在则返回节点,不存在则插入当前节点并返回null),返回值不为null则判断onlyIfAbsent是否为false。否:当前位置的hash值是否大于等于0(表示正常节点哈希的可用位),寻找key是否已存在,已存在则判断onlyIfAbsent是否为false,寻找过程中binCount(链表深度)会随着每一次循环加1。break跳出循环;否:给到当前位置节点加锁,判断当前位置节点是否改变。

2024-01-02 16:52:16 606

原创 1599. 经营摩天轮的最大利润 -- 力扣 --JAVA

注意,如果有超过 4 位游客在等摩天轮,那么只有 4 位游客可以登上摩天轮,其余的需要等待。次轮转(下标从 0 开始)之前到达的新游客的数量。这也意味着你必须在新游客到来前轮转。每位游客在登上离地面最近的座舱前都会支付登舱成本。如果你决定停止运营摩天轮,为了保证所有游客安全着陆,,一旦该座舱再次抵达地面,他们就会离开座舱结束游玩。轮转座舱,但每次轮转都需要支付一定的运行成本。摩天轮每次轮转都恰好转动 1 / 4 周。你正在经营一座摩天轮,该摩天轮共有。你可以随时停下摩天轮,即便是。

2024-01-01 17:54:30 553

原创 100166. 检查按位或是否存在尾随零 --力扣 --JAVA

如果可以选择两个或更多元素,其按位或运算结果存在尾随零,返回。元素,满足这些元素的按位或运算(你需要检查是否可以从数组中选出。,不存在尾随零,而数字。)结果的二进制表示中。

2023-12-31 17:56:44 549

原创 1154. 一年中的第几天 --力扣 --JAVA

返回该日期是当年的第几天。

2023-12-31 00:14:15 539

空空如也

空空如也

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

TA关注的人

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