自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

晴空๓

大家好!我是晴空๓,欢迎大家来到我的blog。

  • 博客(200)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java OVal框架

OVal 是一个轻量级、易于集成和扩展、灵活且具有丰富验证器的 Java 验证框架,它基于面向对象的模型,可以用于验证任何 Java 对象的属性。OVal 提供了丰富的验证规则和强大的验证功能,使得开发者能够简单而又灵活地验证数据。

2024-06-19 00:10:53 911

原创 软件设计模式概述

设计模式是一把双刃剑,利用的恰当可以让我们的系统变得更加灵活、健壮、优雅。但是如果滥用设计模式会使我们的系统变得更加死板、脆弱。要想使用好设计模式设计出更加优雅的系统需要我们特别熟悉每一种设计模式的主要思想以及常见的运用场景。

2024-06-13 22:45:28 1210

原创 LeetCode 2923. 找到冠军 I——更好的解法

今天看了一下昨天每日一题的题解,发现了更好的解法只需要O(n)的时间复杂度就可以解出,而不是像我上一篇博客一样需要O(n^2)的时间复杂度才可以解决。具体的思路是这样的,这个本质上就是 打擂台,如果当前的队伍输了那么该队伍就不可能是冠军,所以我们只需要一开始假设 0队 是冠军,然后与 1队 进行 PK。如果 grid[1][0] == 1 说明1队获胜,那么0队就不可能是冠军。再用1队与2队进行PK,赢了就继续与3队PK,输了说明也不是冠军,再用2队与后面的队伍PK,直到与所有的队伍PK完即可得到冠军队伍

2024-04-13 11:05:16 456

原创 LeetCode 2923. 找到冠军 I——每日一题

一场比赛中共有 n 支队伍,按从 0 到 n - 1 编号。给你一个下标从 0 开始、大小为 n * n 的二维布尔矩阵 grid 。对于满足 0

2024-04-12 23:05:55 567

原创 为什么忘记密码要重置密码而不是直接告诉你密码?

我们注册用户之后用户信息会被存储到服务端的数据库中,但是这个密码不是直接以明文的方式存储的,如果以明文的方式存储那就是严重的安全风险问题了。密码基本都是通过哈希算法来加密密码并保存的,例如经常使用的 MD5 加密方式。

2024-04-11 22:39:13 1122

原创 LeetCode 1702. 修改后的最大二进制字符串——每日一题

给你一个二进制字符串 binary ,它仅有 0 或者 1 组成。你可以使用下面的操作任意次对它进行修改:操作 1 :如果二进制串包含子字符串 "00" ,你可以用 "10" 将其替换。比方说, "00010" -> "10010"操作 2 :如果二进制串包含子字符串 "10" ,你可以用 "01" 将其替换。比方说, "00010" -> "00001"请你返回执行上述操作任意次以后能得到的 最大二进制字符串 。如果二进制字符串 x 对应的十进制数字大于二进制字符串 y 对应的十进制数字,那么

2024-04-10 22:31:59 969

原创 LeetCode 2529. 正整数和负整数的最大计数——每日一题

给你一个按 非递减顺序 排列的数组 nums ,返回正整数数目和负整数数目中的最大值。

2024-04-09 23:10:25 891

原创 POJO简介

什么是POJO?POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB(EJB是Enterprise Java Beans技术的简称, 又被称为企业Java Beans。[^1])混淆所创造的简称。POJO是Plain OrdinaryJava Object的缩写,但是它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。

2024-03-17 18:19:49 982

原创 自动填充MyBatis-Plus日志中的sql语句参数小工具

在我们日常开发看日志的时候总是需要把MyBatis-Plus的sql语句复制到数据库中执行,这样就非常麻烦,所以写了这个工具,可以自动填充sql语句,方便我们复制到数据库中执行。代码其实很简单就是使用正则表达式替换一下。

2024-03-08 08:05:08 539

原创 搭建GitLab私服详细步骤

搭建GitLab私服详细步骤以及搭建过程中踩的一些坑的解决方式

2023-02-27 00:18:47 1072 2

原创 作为程序员你一定要知道的工作小技巧

本博客主要记录一下自己在工作过程中学到的以及使用的工作小技巧,希望能够对大家有所帮助。如果大家有其他的小技巧欢迎在评论区评论或者私信我,感谢大家的不吝赐教。我会定期根据我学到的技巧和大家提供的小技巧补充本文章。

2021-11-05 11:25:10 3862

原创 君子终日乾乾,夕惕若,厉无咎。

 君子进德修业。忠信,所以进德也,修辞立其诚,所以居业也。知至至之,可与言几也,知终终之,可与存义也。是故,居上位而不骄,在下位而不忧。故乾乾因其时而惕,虽危无咎矣!

2021-10-24 22:51:08 708 6

原创 1024快乐!

 又到了我们程序员的节日,在这里祝大家节日快乐!感谢大家一直以来的支持与陪伴,我会继续努力,有时间就多多总结写一些高质量的博客。博客专家一直是博主的心愿,希望经过自己的努力可以成为一个博客专家。今天水一篇博客拿个1024勋章嘿嘿。最近工作实在是有点忙,有时间我一定会好好学习好好创作!谢谢大家! 君子终日乾乾,夕惕若,厉无咎。与君共勉!...

2021-10-24 19:08:48 482

原创 如何解决SVN更新时报Previous operation has not finished; run ‘dleanup‘ if it was interruptedPlease……的错误

 写在前面:大家好!我是AC-fun,我的昵称来自两个单词Accepted和fun。我是一个热爱ACM的蒟蒻。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭! 用知识改变命运,用知识成就未来!加油 (ง •̀o•́)ง (ง •̀o•́)ง文章目录问题描述解决办法问题描述 在使用 SVN 更新远程仓库中的项目的时候出现 Previous oper.

2021-09-20 17:38:55 7789 4

原创 作为一名高级开发者需要具备的技能之画UML类图

在之前的博客:如何使用IDEA画UML图 中已经详细的说明了如何使用 IDEA 画 UML图。本篇博客来详细的讲解一下 UML 的类图怎样画。在 UML 的 13 种图中,类图 是使用频率最高的 UML 图之一。作为一名开发人员画类图是必须具备的技能。类图可以帮助我们简洁明了的描述系统中的类,以及各个类之间的关系的静态视图,能够更好的帮助我们在开发系统之前对系统有一个全面的认识。

2021-07-06 18:33:20 961 6

原创 我的程序人生

写了这么久的博客还从来没写过类似的文章,今天借此机会就写一篇吧。关于《新程序员》这本杂志我还没有看过全套的,以后有机会一定仔细拜读一下。今天借即将毕业之际来写一下我的程序人生的初始阶段,和大家聊一聊是怎样的契机让我称为一名程序员,聊一聊自己大学四年的时光以及自己技术之路的起起伏伏,分享一下自己的一些学习经验。第一次写类似的文章,不喜勿喷哈。同时谨以此文纪念自己的大学时光。

2021-06-28 21:26:22 16609 431

原创 Java集合框架源码详解系列(二)——迭代器设计模式详解

迭代器模式可以帮助我们很方便的实现集合遍历,在使用迭代器遍历时不需要知道集合对象的底层表示。迭代器模式给我们提供了一种遍历集合元素的统一接口,可以用一致的方法遍历集合元素。 如果不使用迭代器,在我们设计实现集合遍历,访问集合中的数据的时候通常将集合的创建和遍历放在同一个类中。比如数据结构中的单链表的遍历就是将创建和遍历放到了一个类中,这样不利于程序的拓展,如果链表的形式变了,需要更换遍历方法就必须要更改源码,这样就违背了 开闭原则。

2021-06-18 23:33:00 488 8

原创 如何使用IDEA画UML图

统一建模语言 (Unified Modeling Language,UML) 是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

2021-06-14 18:33:06 18263 23

原创 Java集合框架源码详解系列(一)

之前写过关于 C++ STL 的四篇文章,现在开始写一下关于Java集合框架的文章,该系列博客将会写很长时间。不管是C++的STL也好,Java的集合框架也好,这两者其实都是将一些基本的数据结构进行了封装实现,从现在开始博主将带领大家遨游在Java集合框架的源码世界,准备好了吗?Go!!!

2021-05-30 22:00:05 3997 39

原创 LeetCode 993. 二叉树的堂兄弟节点——每日一题

本题主要考察了二叉树的遍历,可以使用 宽度优先搜索 在遍历的同时使用 map 记录每个节点的值、深度以及其父节点。遍历完成之后直接进行比较即可。

2021-05-17 16:46:08 370

原创 MyBatis项目实战(2)实现插入操作

本篇主要讲述如何在上一篇博客 MyBatis项目实战(1)实现查询操作 的基础上使用MyBatis实现向MySQL数据库中插入数据。

2021-05-08 15:31:13 287

原创 MyBatis项目实战(1)实现查询操作

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

2021-05-08 10:46:08 549

原创 Codeforces 231A.Team(brute force, greedy)

大家好!我是`AC-fun`,我的昵称来自两个单词`Accepted`和`fun`。我是一个热爱ACM的蒟蒻。最近打算刷一下 Codeforces OJ的题目,一方面边学习算法边刷题,一方面也想提升一下自己的英语阅读水平。坚持就是胜利,加油!

2021-04-24 16:34:42 707

原创 第十二届蓝桥杯省赛第一场C/C++ B组真题及部分题解

第十二届蓝桥杯省赛第一场C/C++ B组真题及部分题解

2021-04-23 17:05:39 5903 17

原创 算法竞赛常用知识

本篇博客来整理一下在算法竞赛中经常用到但是可能会忘掉的知识,有些知识平时可能会记得,但是到真正算法竞赛的时候可能就会忘掉,甚至有一些很常见的知识再平时就忘掉了。但是在算法竞赛中碰到相关的题目还不得不使用这些知识,如果在算法竞赛的时候想不起来那是非常可惜的。所以来总结一下一些在刷题中常用的知识以及需要注意的地方,如果有不足或者需要补充的地方欢迎大家评论留言,博主也会随时补充更新。

2021-04-14 20:43:21 1137

原创 蓝桥杯第六届C/C++ B组真题详解

本篇博客主要写一下蓝桥杯第六届C/C++ B组真题详解

2021-04-14 20:08:07 1311

原创 试除法求数的约数

从 1 ~ n 依次枚举试除每一个数,判断该数是否可以整除 n,如果可以整除 n,说明该数是 n 的约数。试除法还可以优化一下,即我们可以发现约数都是 成对出现 的,如果 d 可以整除 n,那么 n / d 也可以整除 n。我们假设 d 与 n / d 中 d 是较小的那一个,那么 d

2021-04-11 10:54:15 488

原创 分解质因数

把一个合数用质因数相乘的形式表示出来,叫做分解质因数。分解质因数可以使用 试除法 来分解,即从小到大枚举每一个数 d,如果 d 可以整除 n,则从 n 中除掉所有的因子 d,同时累计除去 d 的个数。通过唯一分解定理,可以知道一个合数的因子一定在扫描到这个合数之前就被其更小的质因子 d 除掉了,所以能整除 n 的一定是质数。

2021-04-03 17:08:12 7756 1

原创 质数的筛法

本文只要包含的内容为:质数的定义,质数的四种判定方法。试除法判定、朴素筛法、埃式筛法和线性筛法的详解。

2021-04-03 10:43:37 1518 9

原创 LeetCode 1006. 笨阶乘——每日一题

通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积。例如,factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1。相反,我们设计了一个笨阶乘 clumsy:在整数的递减序列中,我们以一个固定顺序的操作符序列来依次替换原有的乘法操作符:乘法(*),除法(/),加法(+)和减法(-)。例如,clumsy(10) = 10 * 9 / 8 + 7 - 6 * 5 / 4 + 3 - 2 * 1。然而,这些运算仍然使用通常的算术运算顺序:我们在

2021-04-01 10:46:41 342

原创 算法竞赛的一些小技巧

本篇博客来总结一下博主所了解的有关算法竞赛的一些小技巧,如果有不足或者需要补充的地方欢迎大家评论留言,我会随时补充更新。

2021-03-30 20:52:59 3191 10

原创 LeetCode 61. 旋转链表——每日一题

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

2021-03-27 10:10:41 293

原创 LeetCode 83. 删除排序链表中的重复元素——每日一题

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次。返回同样按升序排列的结果链表。

2021-03-26 12:07:07 399

原创 AcWing 90. 64位整数乘法(位运算)

求 a 乘 b 对 p 取模的值。

2021-03-23 21:16:58 234

原创 AcWing 89. a^b(快速幂)

快速幂就是快速算底数的 n 次幂。其时间复杂度为 O(log₂N), 与朴素的 O(N) 相比效率有了极大的提高。

2021-03-23 15:26:26 318

原创 LeetCode 191. 位1的个数——每日一题

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量)。

2021-03-22 16:58:55 188

原创 LeetCode 73. 矩阵置零——每日一题

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。

2021-03-21 18:10:21 2042 10

原创 堆优化版Dijkstra算法

上一篇博客提到的 朴素Dijkstra算法 适用于求 稠密图 的最短路问题,因为 稠密图 的边数远远大于点数,朴素Dijkstra算法的思路为进行 n 次循环,每次循环再遍历 n 个点确定一个还未确定最短距离的点中距离源点最近距离的点,然后再用这个点更新其所能到达的点(算法默认当前的点可以到达所有的点,因为没有到达的点之间的距离都已经初始化为正无穷大,所以不会被更新,不影响结果)。时间复杂度为 O(n2)。

2021-03-09 00:00:20 9420 7

原创 蓝桥杯 奖学金

某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前 5 名学生发奖学金。期末,每个学生都有 3 门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。

2021-03-07 16:21:01 840

原创 蓝桥杯 纪念品分组(贪心,排序)

元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。

2021-03-06 22:36:42 646

蓝桥杯历年真题汇总(第一届到第十一届).zip

包含从第一届到第十一届的所有真题

2021-03-31

ACM算法专题讲解课件.zip

文件夹里是ACM一些常见算法的PPT课件:《Acm竞赛常用算法与数据结构》、《动态规划算法》、《南邮ACM算法与数据结构设计》、《算法分析与设计课件-动态规划法》、《算法设计与分析动态规划实例讲解》、《贪心算法》。

2020-04-19

空空如也

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

TA关注的人

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