自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

徐泗空的博客

欲明明德者,致知在格物

  • 博客(472)
  • 收藏
  • 关注

原创 SpringBoot学习之直接使用枚举Enum(基于Mybatis-Plus)(五十一)

在 MyBatis-Plus 中,若希望枚举类型返回(描述信息)而不是枚举名称或值,可以通过以下方式实现。

2026-02-05 09:39:27 55

原创 Windows杀死占用端口和对应进程的批处理文件脚本

以后假如端口被占用,再也不用网上搜繁琐的端口查询和杀死进程命令了,打开这个批处理命令输入端口即可一秒解决该问题。

2026-01-07 09:42:14 297

转载 RedisTemplate使用详解之opsForZSet()(五)

增加key对应的集合中元素v1的score值,并返回增加后的值。获取指定score区间的值,然后从给定下标和给定长度获取最终值。向指定key中添加元素,按照score值由小到大进行排列。向指定key中添加元素,按照score值由小到大进行排列。获取集合的大小,地层调用的还是 zCard(K key)获取key对应集合中o元素的score值。获取指定元素在集合中的索引,索引从0开始。获取倒序排列的索引值,索引从0开始。移除指定score区间内的值。获取指定score区间的值。获取指定下标之间的值。

2025-12-25 10:39:33 57

转载 RedisTemplate使用详解之opsForSet()(四)

获取key集合与另一个otherKey集合之间的交集元素,并将其放入指定的destKey集合中。获取key集合与其他otherKeys集合之间的交集元素,并将其放入指定的destKey集合中。获取key与另一个otherKey所对应的集合之间的差值,并将结果存入指定的destKey中。获取key与另外一些otherKeys集合之间的差值,并将结果存入指定的destKey中。获取两个集合之间的合集,并放入指定key对应的新集合中。获取多个集合之间的合集,并放入指定key对应的新集合中。

2025-12-25 10:27:11 66

转载 RedisTemplate使用详解之opsForHash()(三)

如何key对应的map不存在,则新增到map中,存在则不新增也不覆盖。使key对应的map中,键var2对应的值以double类型d1自增。获取key对应的map中,key为var2的map的对应的值。使key对应的map中,键var2对应的值以long1自增。获取指定key对应的map集合中,指定键对应的值的长度。直接以map集合的方式添加key对应的值。判断key对应的map中是否有指定的键。获取key对应的map中所有的键。获取key对应的map中所有的值。删除key对应的map中的键值对。

2025-12-25 10:03:46 62

转载 RedisTemplate使用详解之opsForList()(二)

截取下标long1和long2之间的值,包括long1和long2对应的值,并将其保留为key对应的新值。当long1为正且在下标存在其中,long2为负数时,只要两个没有重叠,相当于去左去右,保留了中间的部分。当long1为正且在下标存在其中,long2为负数时,只要两个交叉重叠,截取为空,如下图。指定过期时间后,移除k1中最右的值,并将移除的值插入k2中最左侧(同上)当long1为负时(此时与long2无关),都会截取为空,key会被删除。移除k1中最右的值,并将移除的值插入k2中最左侧。

2025-12-25 09:46:14 77

转载 RedisTemplate使用详解之opsForValue()(一)

以递减的方式(默认为1)将long值存储在变量中(value为其他类型时报错,Double也不行,只能为Long),返回最新值。以指定递减量递减的方式将long值存储在变量中(value为其他类型时报错,Double也不行,只能为Long),返回最新值。如果key不存在则新增,同时设置过期时间,key存在不做任何操作。如果key不存在则新增,同时设置过期时间,key存在不做任何操作。如果key存在则修改,同时设置过期时间,key不存在不做任何操作。获取key对应的值,如果key存在则修改,不存在则新增。

2025-12-24 16:32:34 117

原创 SpringBoot学习之easypoi实现导入导出(基于Mybatis-Plus)(五十)

***/@Data@ApiModel("设备信息主表")/*** id 主键自增*/@ApiModelProperty("主键")@Excel(name = "主键", width = 20)@ApiModelProperty("组织名称")@Excel(name = "组织名称", width = 30)@ApiModelProperty("编码")@Excel(name = "编码", width = 20)

2025-11-03 11:40:34 95

原创 SpringBoot学习之shardingsphere实现分库分表(基于Mybatis-Plus)(四十九)

ShardingSphere是一款起源于当当网内部的应用框架。2015年在当当网内部诞生,最初就叫ShardingJDBC。2016年的时候,由其中一个主要的开发人员张亮,带入到京东数科,组件团队继续开发。在国内历经了当当网、电信翼支付、京东数科等多家大型互联网企业的考验,在2017年开始开源。并逐渐由原本只关注于关系型数据库增强工具的ShardingJDBC升级成为一整套以数据分片为基础的数据生态圈,更名为ShardingSphere。到2020年4月,已经成为了Apache软件基金会的顶级项目。

2025-02-06 14:00:12 477

原创 IDEA中Resolving Maven dependencies卡着不动解决方案

通常位于Maven安装目录下的conf文件夹中,或者在用户目录下的.m2文件夹中(如果用户自定义了settings.xml的位置)。Maven配置阿里云仓库主要通过修改Maven的settings.xml文件来实现‌。打开settings.xml文件,在<mirrors>标签内添加阿里云Maven仓库的镜像配置。通过以上步骤,你可以成功配置Maven以使用阿里云的仓库,从而加快依赖的下载速度。完成编辑后,保存对settings.xml文件的更改,并关闭文件。标签中添加阿里云的仓库地址。

2025-02-06 11:46:11 2083

原创 【番外篇】排列组合实现算法2(Java版)

排列组合算法有一定的难度,并不能用一般的多重嵌套循环解决,没有提前做针对性的学习和研究,考试时候肯定是事倍功半,所以今天我们专门出一篇文章来讲一下这个问题。假设袋子里有编号为1,2,...,m这m个球。现在每次从袋子中取一个球几下编号,放回袋中再取,取n次作为一组,枚举所有可能的情况。假设袋子里有编号为1,2,...,m这m个球。先后从袋子中取出n个球,依次记录编号,枚举所有可能的情况。从m个球里(编号为1,2,3...,m)一次取n个球,其中m>n,记录取出球的编号,枚举所有的可能性。

2025-01-22 16:24:58 533

原创 HJ40 统计字符(Java版)

您可以参阅下表获得其详细信息。在一行上输入一个长度为 1≦length(s)≦10001≦length(s)≦1000 的字符串。对于给定的由可见字符和空格组成的字符串,统计其中英文字母、空格、数字和其它字符的个数。简单 通过率:49.48% 时间限制:1秒 空间限制:32M。第一行输出一个整数,代表字符串中英文字母的个数。第四行输出一个整数,代表字符串中其它字符的个数。第二行输出一个整数,代表字符串中空格的个数。第三行输出一个整数,代表字符串中数字的个数。

2025-01-22 14:52:26 354

原创 HJ108 求最小公倍数(Java版本)

对于给定的两个正整数 a,b,它们的最小公倍数 lcm⁡(a,b) 是指能同时被 a 和 b 整除的最小正整数。简单 通过率:37.19% 时间限制:1秒 空间限制:32M。在一行上输入两个整数 a,b(1≦a,b≦105)。求解 lcm⁡(a,b)lcm(a,b)。输出一个整数,表示 lcm⁡(a,b)。

2025-01-21 18:05:44 415

原创 HJ106 字符逆序(Java版)

在一行上输入一个长度为 1≦len(s)≦10^4、由小写字母和空格混合构成的字符串 ss。简单 通过率:43.44% 时间限制:1秒 空间限制:32M。对于给定的由小写字母和空格混合构成的字符串 ss,将其翻转后输出。输出一个字符串,表示将输入字符串 s 翻转后的结果。保证给定的字符串 s 的首尾不为空格。

2025-01-21 16:57:29 373

原创 HJ107 求解立方根(Java版)

中等 通过率:26.26% 时间限制:1秒 空间限制:32M。待求解参数,为double类型(一个实数)计算一个浮点数的立方根,不使用库函数。数据范围:∣val∣≤20。

2025-01-21 16:35:35 427

原创 【番外篇】排列组合实现算法1(Java版)

在牛客网的很多算法试题中,很多试题底层都是基于排列组合算法实现的,比如最优解、最大值等常见问题。排列组合算法有一定的难度,并不能用一般的嵌套循环解决,没有提前做针对性的学习和研究,考试时候肯定是事倍功半,所以今天我们专门出一篇文章来讲一下这个问题。组合(Combination)是指从一组元素中选取指定数量的元素,不考虑顺序。排列(Permutation)是指将一组元素进行重新排序。

2025-01-21 15:35:25 323

原创 HJ32 密码截取(Java版)

比如进行下列变化 "ABBA"→"12ABBA" 、"ABA"→"ABAKK","123321"→"51233214"。因为截获的串太长了,而且存在多种可能的情况( "abaaab" 可看作是 "aba"或 "baaab" 的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码串吗?Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些 "ABBA" 、"ABA" 、"A" 、"123321"。

2025-01-21 09:27:04 449

原创 HJ48 从单向链表中删除指定值的节点(Java版)

∙ ∙在2后插入7,得到链表[2,7,3,1,5,4];随后,删除值为22的节点,得到链表[7,3,1,5,4]。∙ ∙在4后插入1,得到链表[2,5,3,4,1];∙ ∙在5后插入4,得到链表[2,3,1,5,4];∙ ∙在2后插入5,得到链表[2,5,3,4];随后,删除值为3的节点,得到链表[2,5,4,1]。∙ ∙在1后插入5,得到链表[2,3,1,5];∙ ∙在3后插入4,得到链表[2,3,4];

2025-01-20 11:09:49 1058

原创 HJ38 求小球落地5次后所经历的路程和第5次反弹的高度(Java版)

具体来说,设您的答案为aa,标准答案为bb,当且仅当∣a−b∣max⁡(1,∣b∣)≦10−6max(1,∣b∣)∣a−b∣​≦10−6时,您的答案将被接受。第一次反弹高度为0.50.5米,第二次反弹高度为0.250.25米,第三次反弹高度为0.1250.125米,第四次反弹高度为0.06250.0625米,第五次反弹高度为0.031250.03125米。假设有一个小球从hh米高度自由落下,我们不考虑真实的物理模型,而是简洁的假定,该小球每次落地后会反弹回原高度的一半;

2025-01-18 02:07:57 426

原创 HJ37 统计每个月兔子的总数(Java版)

有一种兔子,从出生后第三个月起,每个月都会生一只兔子,生出来的兔子同理。第五个月时,r0r0​再生一只兔子,与此同时r1r1​也开始生兔子,此时兔子总数为55。第三个月时,r0r0​开始生兔子(记生出来的兔子为r1r1​),此时兔子总数为22。第一个月时,只有初始兔子(记为r0r0​),此时兔子总数为11。简单通过率:42.17%时间限制:1秒空间限制:32M。第四个月时,r0r0​再生一只兔子,此时兔子总数为33。

2025-01-18 01:38:52 474

原创 HJ35 蛇形矩阵(Java版)

具体的构造方法为,从11开始填充自然数,记第ii行第11列的元素为ai,1=kai,1​=k,将其右上角的元素ai−1,2,ai−2,3,⋯ ,a1,iai−1,2​,ai−2,3​,⋯,a1,i​依次赋值为k+1,k+2,⋯ ,k+i−1k+1,k+2,⋯,k+i−1,随后,将ai,2ai,2​赋值为k+ik+i,并重复上述过程,直到填满上三角范围n(n+1)22n(n+1)​个格子。在一行上输入一个整数n(1≦n≦100)n(1≦n≦100)代表矩阵的大小。

2025-01-18 01:21:02 381

原创 HJ4 字符串分隔(Java版)

在一行上输入一个长度1≦length(s)≦1001≦length(s)≦100,由小写字母和数字混合构成的字符串ss。特别地,如果最后一行不满88个字符,则需要在字符串末尾补充00,直到长度为88。在这个样例中,字符串长度为1313,因此需要在第二行末尾补充33个00。简单通过率:26.94%时间限制:1秒空间限制:32M。输出若干行,每行输出88个字符,代表按题意书写的结果。∙ ∙书写接下来的88个字符,换行;∙ ∙书写前88个字符,换行;

2025-01-17 23:47:45 501

原创 HJ34 图片整理(Java版)

在一行上输入一个长度为1≦length(s)≦1031≦length(s)≦103,仅由大小写字母和数字构成的字符串ss,代表输入的字符串。对于给定的由大小写字母和数字组成的字符串,请按照ASCIIASCII码值将其从小到大排序。如果您需要了解更多关于ASCIIASCII码的知识,请参考下表。简单通过率:53.29%时间限制:1秒空间限制:32M。在一行上输出一个字符串ss,代表排序后的答案。

2025-01-17 17:01:07 424

原创 HJ23 删除字符串中出现次数最少的字符(Java)

在一行上输入一个长度为1≦length(s)≦201≦length(s)≦20,仅由小写字母构成的字符串ss,代表待处理的字符串。对于给定的仅由小写字母构成的字符串,删除字符串中出现次数最少的字符。输出删除后的字符串,字符串中其它字符保持原来的顺序。在这个样例中,出现次数最少的字符为‘b’‘b’和‘c’‘c’,因此需要同时删除这两个字符。简单通过率:36.26%时间限制:1秒空间限制:32M。特别地,若有多个字符出现的次数都最少,则把这些字符都删除。

2025-01-17 16:43:33 239

原创 HJ31 单词倒排(Java版)

在一行上输入若干个字符串,每个字符串长度为1≦length(s)≦201≦length(s)≦20,仅由大小写字母构成,代表一个单词。对于给定的若干个单词组成的句子,每个单词均由大小写字母构成,单词间使用非字母字符分隔。输出以单词为单位逆序排放的结果,即仅逆序单词间的相对顺序,不改变单词内部的字母顺序。在一行上输出一个句子,代表以单词为单位逆序排放的结果。特别地,在输出结果中,去除原有的分隔符,转而使用单个空格间隔单词。简单通过率:26.78%时间限制:1秒空间限制:32M。

2025-01-17 15:25:34 474

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

∙ ∙十进制(10)10(10)10​等于二进制(1010)2(1010)2​。∙ ∙十进制(8)10(8)10​等于二进制(1000)2(1000)2​;∙ ∙十进制(9)10(9)10​等于二进制(1001)2(1001)2​;∙ ∙十进制(2)10(2)10​等于二进制(10)2(10)2​;∙ ∙十进制(3)10(3)10​等于二进制(11)2(11)2​;∙ ∙十进制(1)10(1)10​等于二进制(1)2(1)2​;

2025-01-17 14:51:34 530

原创 HJ13 句子逆序(Java版)

对于给定的若干个单词组成的句子,每个单词均由大小写字母混合构成,单词间使用单个空格分隔。输出以单词为单位逆序排放的结果,即仅逆序单词间的相对顺序,不改变单词内部的字母顺序。除此之外,保证每个单词非空,由大小写字母混合构成,且总字符长度不超过103103。在一行上输入若干个字符串,每个字符串代表一个单词,组成给定的句子。简单通过率:43.35%时间限制:1秒空间限制:32M。在一行上输出一个句子,代表以单词为单位逆序排放的结果。

2025-01-17 14:41:02 326

原创 HJ11 数字颠倒(Java版)

对于给定的非负整数nn,将其以字符串的形式颠倒后输出。这意味着,如果nn的末尾含00,那么返回的字符串开头也需要含00。在一行上输入一个非负整数n(0≦n<230)n(0≦n<230)代表给定的整数。简单通过率:59.46%时间限制:1秒空间限制:32M。在一行上输出一个字符串,代表颠倒后的数字。

2025-01-17 14:30:42 481

原创 HJ10 字符个数统计(Java版)

备注:受限于输入,本题实际输入字符集为ASCIIASCII码在3333到126126范围内的可见字符。在一行上输入一个长度1≦length(s)≦5001≦length(s)≦500的字符串ss,代表给定的字符串。在一行上输出一个整数,代表给定字符串中ASCIIASCII在00到127127范围内的不同字符的个数。对于给定的字符串,统计其中的ASCIIASCII在00到127127范围内的不同字符的个数。

2025-01-17 14:24:23 517

原创 HJ22 汽水瓶(Java版)

∙ ∙第三轮兑换,刚刚余下11个空瓶、加上刚刚兑换的11瓶汽水喝完、再找老板借11个空瓶,共有33个空瓶。可以换11瓶汽水,余下00个空瓶。在一行上输入一个整数n(0≦n≦100)n(0≦n≦100),代表小张手上的空汽水瓶数量。特别地,n=0n=0代表输入结束,您只需要立即退出,不需要针对这种情况进行处理。∙ ∙第二轮兑换,刚刚余下11个空瓶、加上刚刚兑换的33瓶汽水喝完,共有44个空瓶。对于第一组测试数据,共有33个空瓶,可以换11瓶汽水。

2025-01-17 14:08:49 455

原创 HJ9 提取不重复的整数(Java版)

在这个样例中,先将数字倒序,得到37667893766789,然后去除重复数字,得到3768937689。对于给定的正整数nn,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。在一行上输入一个正整数n(1≦n≦108)n(1≦n≦108)代表给定的整数。入门通过率:46.73%时间限制:1秒空间限制:32M。在一行上输出一个整数,代表处理后的数字。保证nn的最后一位不为00。

2025-01-17 14:02:21 380

原创 HJ8 合并表记录(Java版)

数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,随后按照索引值的大小从小到大依次输出。输出若干行,第ii行输出两个整数,代表合并后数据表中第ii条记录的索引和数值。第一行输入一个整数n(1≦n≦500)n(1≦n≦500)代表数据表的记录数。在这个样例中,第1,31,3条记录索引相同,合并数值为1+2=31+2=3。简单通过率:32.15%时间限制:1秒空间限制:32M。

2025-01-17 13:44:13 508

原创 HJ7 取近似值(Java版)

更具体地说,若xx的小数部分大于等于0.50.5,则输出向上取整后的整数;否则输出向下取整后的整数。在一行上输入一个小数点后位数不超过55位的实数x(0.00001≦x≦20)x(0.00001≦x≦20)。在这个样例中,2.4992.499的小数部分小于0.50.5,因此输出向下取整后的整数22。在这个样例中,5.55.5的小数部分大于等于0.50.5,因此输出向上取整后的整数66。入门通过率:49.96%时间限制:1秒空间限制:32M。

2025-01-17 09:55:56 386

原创 HJ6 质数因子(Java版)

对于给定的整数nn,从小到大依次输出它的全部质因子。即找到这样的质数p1,p2,⋯ ,pkp1​,p2​,⋯,pk​,使得n=p1×p2×⋯×pkn=p1​×p2​×⋯×pk​。在一行上输入一个整数n(2≦n≦2×108+14)n(2≦n≦2×108+14)代表待分解的整数。在这个样例中,180=2×2×3×3×5180=2×2×3×3×5。通过率:23.23%时间限制:1秒空间限制:32M。在一行上从小到大输出若干个整数,代表nn的质因子。

2025-01-17 09:50:47 462

原创 HJ5 进制转换(Java版)

在这个样例中,0xFA930xFA93的第00位是33,第11位是99,第22位是AA,第33位是FF,因此0xFA93=3×160+9×161+10×162+15×163=641470xFA93=3×160+9×161+10×162+15×163=64147。在本题中,十六进制数的格式为:0x0x开头,后跟若干个十六进制数字(0-90-9和A-FA-F)。回忆十六进制转化为十进制的方法:从右往左,将第ii位乘以16i16i,然后求和。

2025-01-17 09:42:49 468

原创 HJ2 计算某字符出现次数(Java版)

第一行输入一个长度1≦length(s)≦1031≦length(s)≦103,由大小写字母、数字和空格混合构成的字符串ss。对于给定的由大小写字母、数字和空格混合构成的字符串ss,统计字符cc在其中出现的次数。在一行上输出一个整数,代表字符cc在字符串ss中出现的次数。由于oo为小写字母,因此统计其小写形态出现的次数和,即33。简单通过率:30.31%时间限制:1秒空间限制:32M。∙ ∙若cc为数字,统计其出现的次数。

2025-01-17 09:14:15 315

原创 HJ1 字符串最后一个单词的长度(Java版)

在这个样例中,最后一个单词是"HelloNowcoder""HelloNowcoder",长度为1313。对于给定的若干个单词组成的句子,每个单词均由大小写字母混合构成,单词间使用单个空格分隔。输出最后一个单词的长度。除此之外,保证每个单词非空,由大小写字母混合构成,且总字符长度不超过103103。简单通过率:34.46%时间限制:1秒空间限制:32M。在一行上输入若干个字符串,每个字符串代表一个单词,组成给定的句子。在一行上输出一个整数,代表最后一个单词的长度。

2025-01-17 09:08:08 470

原创 HJ17 坐标移动(Java版)

" 也是不合法的,因为 YY 不是 "A/D/W/S""A/D/W/S" 中的一个。" 是合法的,向下移动 2020 个单位,到达 (−10,−20)(−10,−20) 点;" 是合法的,向上移动 1010 个单位,到达 (−10,−10)(−10,−10) 点;∙ ∙第九个指令 "A10;" 是合法的,向左移动 1010 个单位,到达 (10,−10)(10,−10) 点。∙ ∙第一个指令 "A10;" 是合法的,向左移动 1010 个单位,到达 (−10,0)(−10,0) 点;∙ ∙第八个指令 ";

2025-01-16 16:46:25 1070

原创 HJ3 明明的随机数(Java版)

此后 nn 行,第 ii 行输入一个整数 ai (1≦ai≦500)ai​ (1≦ai​≦500),代表明明生成的随机整数。第一行输入一个整数 n (1≦n≦1000)n (1≦n≦1000),代表明明生成的数字个数。输出若干行,每行输出一个整数,代表输入数据排序后的结果。较难 通过率:24.23% 时间限制:1秒 空间限制:32M。∙ ∙删去重复的数字,即相同的数字只保留一个,把其余相同的数去掉;∙ ∙然后再把这些数从小到大排序,按照排好的顺序输出。你只需要输出最终的排序结果。

2025-01-16 16:34:45 478

原创 HJ30 字符串合并处理(Java版)

∙ ∙对于第一个字符 ("a")16("a")16​ ,其十进制数为 (10)10(10)10​ ,二进制数为 (1010)2(1010)2​ ,翻转后得到 (0101)2(0101)2​ ,再转换回十六进制数为 (5)16(5)16​;∙ ∙对于第六个字符 ("f")16=(15)10=(1111)2("f")16​=(15)10​=(1111)2​ ,翻转后得到 (1111)2=(F)16(1111)2​=(F)16​。试题等级:较难 通过率:22.77% 时间限制:1秒 空间限制:32M。

2025-01-16 16:23:50 720

空空如也

空空如也

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

TA关注的人

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