自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (9)
  • 收藏
  • 关注

原创 1706. 球会落何处

从箱子顶部滚落的球:如何高效模拟挡板路径问题,我和DeepSeek一起来给你解答。

2025-02-16 00:19:17 739

原创 2938. 区分黑球与白球 - (LeetCode)

2938. 区分黑球与白球;采用传统的编程,的确可以完成大部分的编程任务,执行起来性能也没有问题。没有接触LeetCode的时候,没有这个意识,但是这段时间打卡一些题目,遇到执行超时,才意识到自己写好代码还是需要努力,这个也许是我经常坚持的原因吧。

2024-06-06 22:41:00 420

原创 1103. 分糖果 II - (LeetCode)

1103. 分糖果 II - (LeetCode)每日一练,每日一练,每日一练!

2024-06-03 22:06:34 485

原创 128. 最长连续序列 - LeetCode 热题 100

128. 最长连续序列 - 力扣(LeetCode),中午没休息,看看热题TOP100,看到128. 最长连续序列这题,就做这题吧,开始觉得挺容易,很快做出来,提交的时候,执行到一个长的数组,就直接报超时了,越有挑战,就越想挑战,不断优化代码,最后顺利提交通过。

2024-06-02 15:40:11 283

原创 分糖果 - (LeetCode)

575. 分糖果 - 力扣(LeetCode);往往我们在编程过程中就跟着步骤解决的思路去编码实现,觉得能执行正确,就OK了,当没有考虑到数据和场景的问题,就容易变成隐藏的💣了,所以多学习数据结构和算法,能有效帮助我们提高的执行性能和解决问题的最佳方案。今天在掘金看到一句很有意思的话,所以也记下来:最好的投资就是投资自己。

2024-06-02 11:41:07 592

原创 给小朋友们分糖果 I - (LeetCode)

2928. 给小朋友们分糖果 I - 力扣(LeetCode);今天是忙碌而充实的一天,平时上班比较忙,周末终于可以美美的睡一个觉,早上醒来,天气下雨,台风偶尔呼呼的吹,简单吃了早餐,就开始给鱼缸的小鱼喂食和水草,平时都是机器自动喂,今天顺便给鱼缸吸下💩,然后换了部分水。做完一切已经中午了,然后才开始打开LeetCode进行看今天的打卡题,今天是六一儿童节,所以平台也给了一道非常有趣的题目,如下。

2024-06-01 23:12:51 414

原创 找出缺失和重复的数字 - (LeetCode)

2965. 找出缺失和重复的数字;最近工作太忙了,周一到周五,画了5天的原型设计,看着原型设计我都准备要吐的节奏,新项目很多业务不熟悉,去问同事需求,网上找资料学习业务需求,更重要的是还要构思业务流程和界面展示,产品经理在团队中还是非常重要的活,但是产品经理干一天,估计要一个团队干一个月或者一年都不定。

2024-05-31 23:40:55 588

原创 找出最具竞争力的子序列 -(LeetCode)

最近很忙,都没有时间去弄算法题,自己不在深圳这几天,虽然不是很忙,但都是碎片化的时间,碎片化的时间搞不了力扣,毕竟像我这种小白,难得今天中午没有休息,这样就来打一次LeetCode卡吧,领个10积分虽然不是目标,但是应该值得坚持。

2024-05-24 14:01:03 521

原创 找出数组游戏的赢家 - (LeetCode)

今天又遇到一题简单的算法题,题目:1535. 找出数组游戏的赢家,整个过程比较简单,开始被题目的要求有一点误导,导致对数组整体移位做了操作,导致第一次提交性能超时的问题,然后进行了优化,发现其实不需要数组移位也能达到计算和判断的效果,所以有时候不一定需要根据题目说的要求,还是需要根据自己实际的场景去改变。

2024-05-19 22:06:11 343

原创 找出可整除性得分最大的整数 - (LeetCode)

昨天非常忙,上午去做体检,下午去拿报告,晚上和老刘吃撸了一个串,深入交流生活的不易,岁月变化的快,话回算法题,今天的题目比较容易,花了一会就能写出来。今天这题是:2644. 找出可整除性得分最大的整数。

2024-05-18 22:08:58 450

原创 1953. 你可以工作的最大周数 - (LeetCode)

算法题到今天,已经连续坚持了9天了,每天一题算法题,学习数据结构和算法,还是很充实的,今天的题目是1953. 你可以工作的最大周数,直接上题目。

2024-05-16 21:54:12 475

原创 完成所有任务的最少时间 - (LeetCode)

2589. 完成所有任务的最少时间;今天也是很无精打采的一天,早上看到这道题,都有点懵逼,开始也不懂如何入手,既然自己搞不定,就顺便测试了一下AI吧,测试了通义千问和文心一言,把题目拿去那里问,可以把解题思路写出来,代码也写了,但是我拿到AI的代码来运行,发现2个平台的代码都是运行不通过的,说明AI对这种算法题,是不对的,AI测试了一轮,只好自己去理解了,看了一下AI的代码,给自己一些思路,按照自己的思路去优化代码最终通过。

2024-05-15 20:44:16 413

原创 完成所有任务需要的最少轮数 - (LeetCode)

2244. 完成所有任务需要的最少轮数 - 力扣(LeetCode)今天的题目比较简单,没花多少时间就做出来,我采用了HashMap来作为分组存储,只要key存在就往value+1,我们直接看题目。

2024-05-14 14:41:51 345

原创 腐烂的橘子 - (LeetCode)

994. 腐烂的橘子 - 力扣(LeetCode),今天刷到这道题,开始按照自己实现的思路写了一次,通过了调试,但是提交的时候,来了一个大的数据,就没有通过测试,百思不得其解,看了网上的思路,使用了java的Queue队列对象来进行解题,平时都没什么机会使用Queue队列,这次认真学习了Queue队列对象,代码优化后节省了一般的代码很多,而且优化了解题的思路。先学习下Queue队列对象。

2024-05-13 21:29:12 964

原创 收集垃圾的最少总时间- (LeetCode)

2391. 收集垃圾的最少总时间;给你一个下标从开始的字符串数组garbage,其中garbage[i]表示第i个房子的垃圾集合。garbage[i]只包含字符'M''P'和'G',但可能包含多个相同字符,每个字符分别表示一单位的金属、纸和玻璃。垃圾车收拾单位的任何一种垃圾都需要花费1分钟。同时给你一个下标从开始的整数数组travel,其中travel[i]是垃圾车从房子i行驶到房子i + 1需要的分钟数。城市里总共有三辆垃圾车

2024-05-11 23:54:54 357

原创 移除元素 - (LeetCode)

移除元素 - (LeetCode)这道题比较简单,就是需要掌握不借助新创建的数组对象进行数组的移位,不借助新数组,处理起来就需要实现数组移位的技巧掌握。

2024-05-10 21:21:24 280

原创 统计已测试设备-LeetCode

今天的LeetCode推荐的题目是“2960.统计已测试设备”,大概看了一下,难度简单,直接贴出题目和解题代码。

2024-05-10 14:48:17 280

原创 2105. 给植物浇水 II - (LeetCode)

今天LeetCode给我推送了一题“给植物浇水Ⅱ”,前天写了一题是“给植物浇水Ⅰ”,很顺利的写出来了,“给植物浇水Ⅰ”这道算法题是一个人浇水的算法,相对简单很多,“给植物浇水Ⅱ”是2个人浇水的算法题,而且二个人一个从头开始,一个从最后一颗开始,二个人刚好同一颗浇水还有条件要求,我们一起来看看下面题目

2024-05-09 21:30:33 549

原创 两数相加 - (LeetCode)

注意:万万没有想到,在LeetCode通过测试,但是提交的时候,却被一个长链表被给卡主了,查看了错误,发现是超出了long的长度,不能用传统的方法来解决,只能通过每一位数的相加,然后进位进行循环计算和进位处理。从两个链表的头节点开始,依次将对应位置的数字相加,并保留进位。在遍历完两个链表的所有节点之后,如果还存在进位,就需要在结果链表中追加一个节点来存储进位。经过思考和优化,最后优化代码如下,顺利提交LeetCode通过所有的测试用例。的链表,表示两个非负的整数。的方式存储的,并且每个节点只能存储。

2024-05-09 14:43:08 458

原创 给植物浇水(LeetCode)

你打算用一个水罐给花园里的n株植物浇水。植物排成一行,从左到右进行标记,编号从0到n - 1。其中,第i株植物的位置是x = i。x = -1处有一条河,你可以在那里重新灌满你的水罐。

2024-05-08 20:35:55 404

原创 三数之和算法题(LeetCode)

给你一个整数数组nums,判断是否存在三元组[nums[i], nums[j], nums[k]]满足i != j、i != k且j != k,同时还满足nums[i] + nums[j] + nums[k] == 0。请你返回所有和为0且不重复的三元组。

2024-05-08 13:30:04 242

原创 掌握 @Cacheable、@CachePut 和 @CacheEvict 注解

从入门到精通:掌握 @Cacheable、@CachePut 和 @CacheEvict 注解

2024-01-30 10:10:03 1710

原创 Docker部署Java项目

关于是否应该将Java项目部署在Docker中的思考。传统方式:直接在服务器上运行jar包,依赖于服务器的环境配置,可能会遇到环境不一致的问题。Docker方式:通过容器化,你的应用和所有依赖都封装在一个Docker镜像中。部署时只需要在有Docker环境的机器上运行容器即可,环境一致性得到保障。

2024-01-24 09:00:28 848

原创 分布式ID解决方案

在分布式系统中,生成全局唯一ID是非常重要的,因为在分布式系统中,多个节点同时生成ID可能会导致ID冲突。下面介绍几种常用的分布式ID解决方案。

2024-01-22 09:27:34 1244

原创 使用redis秒杀的demo

模拟了一个商品秒杀过程。首先,它检查用户是否已经秒杀过,如果秒杀成功,会减少库存并记录秒杀用户。该示例中使用了Redis的事务机制,确保在多个命令之间的原子性操作。在实际生产环境中,你需要更多的优化和安全性措施,包括用户鉴权、分布式锁、防止超卖等。实现一个秒杀系统是一个复杂的任务,需要考虑诸多因素,如并发控制、库存管理、用户鉴权等。以下是一个简单的Redis秒杀Demo,用于演示基本的秒杀流程。请注意,这个示例仅用于核心库存demo演示,实际的生产环境中需要更多的安全性和性能优化。

2023-11-23 09:39:10 119

原创 Explain命令在优化查询说明

EXPLAIN命令可以帮助我们理解 MySQL 的查询执行过程,从而进行优化。通过选择合适的索引、减少数据访问、减少排序和分组、避免隐式类型转换、减少查询次数等方法,我们可以提高查询效率,并优化数据库性能。在使用EXPLAIN命令时,我们需要关注的字段包括idtabletypekeykey_lenrefrowsExtra等。通过分析这些字段,我们可以了解查询的执行计划、数据访问方式、索引使用情况、数据过滤情况、排序和分组操作、查询次数等信息,从而进行优化。

2023-11-20 08:49:24 82

原创 Spring Boot 常用注解大全:每个程序员必备

Spring Boot 中有许多常用的注解,这些注解用于配置、管理和定义 Spring Boot 应用程序的各个方面。以下是这些注解按大类和小类的方式分类,并附有解释和示例。

2023-11-16 09:19:12 113

原创 Redisson分布式锁

Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。Redisson底层采用的是Netty 框架。支持Redis 2.8以上版本,支持Java1.6+以上版本。

2023-11-07 15:06:49 221

原创 docker创建mysql并映射本地配置

docker创建mysql并映射本地配置

2023-11-07 14:07:10 103

原创 零拷贝(Zero-copy)详解

零拷贝(Zero-copy)是一种高效的数据传输机制,在追求低延迟的传输场景中十分常用。本文先通过传统方案引出零拷贝机制,然后分析其细节,最后介绍它的部分应用。文中涉及到的操作系统理论知识都可以参考英文维基或者相关书籍,如Abraham Silberschatz著《操作系统概念》、Andrew S. Tanenbaum著《现代操作系统》等。

2023-10-10 09:24:29 434 1

原创 Nginx常用配置及和基本功能讲解

Ngnix是一款高性能反向代理服务器,学习它非常有必要,本文讲解了Ngnix核心配置,介绍了反向代理,负载均衡,动静分离三大功能,最后扩展了一些常用的指令。本文介绍了Ngnix的基础用法,后续的Ngnix内核以及原理部分有待研究。

2023-10-10 08:43:24 83 1

原创 javax.validation常用的校验

【代码】javax.validation常用的校验。

2023-10-09 08:52:53 566 1

原创 Redisson分布式锁详细介绍

官方网站 & 高性能版官方描述:Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。Redisson底层采用的是Netty 框架。支持Redis 2.8以上版本,支持Java1.6+以上版本。

2023-10-09 08:47:04 212

原创 BigDecimal不可触碰的6个坑

因为double类型只能表示有限的小数,而BigDecimal可以表示任意精度的小数,当一个BigDecimal对象的小数部分超过了double类型的精度范围时,使用doubleValue方法将会丢失精度。如果需要将BigDecimal转换为double类型,应该使用BigDecimal的toBigInteger方法来获取一个BigInteger类型的值,再使用doubleValue方法进行转换。需要注意的是,setScale方法返回的是一个新的BigDecimal对象,原对象并没有被修改。

2023-10-08 09:02:33 82

原创 Linux CentOS下删除.swp文件

出现这种问题的原因往往是因为网络断了或者开关vpn造成与阿里云断开连接,为了保护文件防止丢失自动生成.swp文件,解决方法如下。用ls -a 可查看遗留的.swp文件。rm -rf +文件名删除.swp文件。

2023-05-04 16:08:43 633

原创 正则获取图片地址

正则获取图片地址

2023-05-04 16:05:38 375

原创 Docker数据目录迁移

采用yum或者rpm方式安装的docker,在安装好以后,默认的数据目录是/var/lib/docker。很多人在安装好docker以后,会忽略对这个目录的修改,并开始使用docker。这就会导致系统根目录被过大的占用,下面就简单讲一下如何对该目录进行迁移。在数据迁移和备份完成以后,有通过建设软连接和修改配置文件两种方式来应用新数据目录。修改daemon.json配置文件,增加"data-root"配置信息。将新的数据目录软连接到默认目录,重启docker即可。3、 应用新数据目录。3.2 修改配置文件。

2023-05-04 16:04:40 258

原创 shell脚本中根据端口号kill对应的应用进程

在Jenkins的自动部署中,每次重新部署我们都需要先关闭原先的应用进程,然后重新部署启动。在使用tomcat时,我们可以通过startup.sh和shutdown.sh进行对应操作。但是在使用springboot的Jar包时,却无从下手了(有知道的告诉兄弟一声),所以采取的办法是直接kill掉应用的pid,然后重新部署启动。每次启动的pid都是不一样的,而已知的是应用的端口号,那么如果能通过端口号查询到应用的pid不就行了吗。

2023-05-04 16:00:10 553

原创 MongoDB为什么比Mysql高效

在分片集群中,有一个特定的MongoDB节点充当分片协调器(mongos),负责接收客户端的请求,将请求路由到对应的分片节点上,并将结果返回给客户端。总的来说,MySQL的数据存储方式是传统的关系型数据库方式,适用于结构化数据的存储和查询。具体来说,MongoDB中的数据是以BSON(Binary JSON)文档的形式组织的,每个文档都是一个键值对的集合,可以包含任何类型的数据。在MongoDB中,数据的读写操作都是基于内存的,MongoDB会将频繁访问的数据缓存在内存中,以提高查询和更新的速度。

2023-04-13 08:56:34 1376 1

原创 Docker数据目录迁移

采用yum或者rpm方式安装的docker,在安装好以后,默认的数据目录是/var/lib/docker。很多人在安装好docker以后,会忽略对这个目录的修改,并开始使用docker。这就会导致系统根目录被过大的占用,下面就简单讲一下如何对该目录进行迁移。在数据迁移和备份完成以后,有通过建设软连接和修改配置文件两种方式来应用新数据目录。修改daemon.json配置文件,增加"data-root"配置信息。将新的数据目录软连接到默认目录,重启docker即可。3、 应用新数据目录。3.2 修改配置文件。

2023-04-13 08:54:58 386 1

AXURE 9 微信小程序元件库

AXURE 9 微信小程序元件库,多种微信小程序UI元素,方便原型设计交互。

2022-06-13

jquery滑动验证码

jquery滑动验证码,支持字符验证、滑动验证,点击验证

2021-04-30

SpringBoot整合XSS.zip

SpringBoot整合XssFilter,Jsoup等实现请求参数的过滤,处理Xss攻击及sql注入

2021-04-30

iText中文帮助文档

第一章 创建一个Document 利用iText五步创建一个PDF文件:helloword。 第一步,创建一个 iTextSharp.text.Document对象的实例: Document document = new Document(); 第二步,为该Document创建一个Writer实例: PdfWriter.getInstance(document, new FileStream("Chap0101.pdf", FileMode.Create)); 第三步,打开当前Document

2018-08-15

freemarker生成html导出word

使用Itextpdf组件通过freemarker模板技术生成好html内容并导出word文件,提供下载。

2018-08-14

mysql sql 百万级数据库优化方案

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:   select id from t where num is null

2018-08-14

vlc播放器,播放m3u8

VLC 媒体播放器是一个便携式、 免费、开源、 跨平台的媒体播放器。 VideoLAN 项目的流式媒体服务器。分为Windows Phone版本和Android版本。

2018-07-27

opencv安装包V3.4.2

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

2018-07-27

CMMI中22个KPA

CMMI中22个KPA,和其他的缩写。GG Generic Goals 通用目标 SG Specific Goals 特定目标 GP Generic Practices 通用实践 SP Specific Practices 特定实践 PA Process Area 过程域 QA Quality Assurance 质量保证 SEPG Software engineering process group 软件工程过程组 PIID Process Improvement Indicator Description 过程改进指导描述 SCAMPI Appraisal Method for Process Improvement CMMI中评估过程改进的一种方法

2010-01-26

空空如也

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

TA关注的人

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