自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第十二届蓝桥杯 2021年国赛真题 C完全日期(Calendar类 日期遍历)

题目:思路:遍历从2001.1.1到2021.12.31的所有日期,找出符合要求的。需要注意这个完全日期,根据实际日期大小数值判断一下,符合要求的平方数只有9,16,25。需要用到的类方法详解:用Calendar枚举所有日期,每次枚举只需要将date+1。需要注意以下地方:需要注意的其中是月份是从0开始。(此外,星期是从日开始)如下图:这个代表2021年1月31日Calendar的好处在于可以帮你把不合法的日期给合法化。如下图:2001.1.31执行过日份+1的操作后,日期变

2022-05-03 14:43:45 653

原创 第十二届蓝桥杯 2021年国赛真题 B纯质数

题目:解析:两个思路,一个是挨个遍历,挨个判断,另一个是 因为在 [ 0 , 10 ) 中,质数仅占 { 2 , 3 , 5 , 7 } 四位,如果仅判断这四个数字组合成的数是否是质数的话,性能能否有进一步的提升。代码:import java.util.ArrayList;import java.util.List;public class Test { public static final int N = 20210605; public static void m

2022-05-01 23:23:49 369

原创 洛谷 P1219 [USACO1.5]八皇后 Checker Challenge

题目链接:https://www.luogu.com.cn/problem/P1219题目:思路:八皇后问题,典型dfs,dfs练习。代码:不是很熟练,代码有些冗余import java.util.ArrayList;import java.util.Scanner;public class P1219_八皇后CheckerChallenge { public static void main(String[] args) { Scanner sc = new

2022-04-24 10:43:13 233

原创 DFS 深度优先搜索算法

概念:深度优先搜索算法(Depth First Search,简称DFS):一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止。属于盲目搜索,最糟糕的情况算法时间复杂度为O(!n)。算法思想:回溯算法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不

2022-04-16 17:38:06 131

原创 HDU 2072 单词数 字符串 Java

问题:思路:看似普通的问题,思路也简单,其实全是坑!一般思路就是 :接收字符串->存入set数组->输出set的值注意几个坑:1.输入的一行中两个单词直接有连续空格2.一行开头就输入了空格3.一行全是空格代码:(需要注意的地方代码中标注了)import java.util.Arrays;import java.util.HashSet;import java.util.Scanner;import java.util.Set;public class B {

2022-04-04 16:44:50 555

原创 codeforces_B_Delete from the Left

链接:https://codeforces.com/contest/1005/problem/B题目:题目自行翻译,大致意思就是求两个字符串需要删除多少个左边的字符,才能相等。思路:题目不难,需要注意两个地方:1.需要从右往左比较2.需要比较字符,用一个变量记录,不能直接比较字符串(都是防止超时)代码:import java.util.Scanner;public class 从左边删除 { public static void main(String[] args) {

2022-04-02 23:59:05 328

原创 codeforces_B_Strange List

题目链接: https://codeforces.com/contest/1471/problem/B思路:这个题关键点在与理解题目、代码:import java.util.Scanner;public class 奇异清单 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (i

2022-04-02 22:17:07 526

原创 第十届蓝桥杯省赛JavaB组I_后缀表达式

题目:思路:首先要知道“后缀表达式”和普通算式的区别所以,可以把问题分成:1.有负号的情况:…1.例如数字全是正数,那么必须消耗一个最小的数字;…2.例如数字全是负数,那么需要消耗一个最大的数字;…可以总结为 排序之后,最大数-最小数 然后和其他数的绝对值全部相加。2.无负号的情况:只有加号,全部相加即可代码:import java.util.Arrays;import java.util.Scanner;public class I_后缀表达式 { public stat

2022-03-25 18:03:10 558

原创 第十届蓝桥杯省赛JavaB组G_外卖店优先级

题目:思路:本题关键是二维数组的建立,二维数组保存的意义。如下图:二维数组以时间、店数建立 在输入数据的时候,判断某时刻的某家店的订单情况,直接加到订单数中,之后进行for循环,利用set集合便可求出代码:import java.util.HashSet;import java.util.Scanner;public class G_外卖店优先级 { public static void main(String[] args) { Scanner sc =

2022-03-24 21:10:16 491

原创 第十届蓝桥杯省赛JavaB组H_人物相关性分析

题目:这个题在蓝桥杯官网案例错误,所以没法判断代码得分。思路:用两个list数组分别记录这两个字符串出现的位置,最后进行循环比较。要注意的是:判断字符出现是否是符号条件的位置(不能是一个单词的一部分)。代码:import java.util.ArrayList;import java.util.Scanner;public class H_人物相关性分析 { public static void main(String[] args) { Scanner sc =

2022-03-24 19:00:08 515

原创 Leetcode518. 零钱兑换 II(完全背包)

分析:首先这个题是一个完全背包问题,把面额看做是商品总金额看做背包容量,找出所有可能装满背包的方案。首先想到肯定是动态规划,关键是找出动量关系式例如:用1,2,5金额已知0元的情况,直接不用任何面值可以记为1种情况。1.当我们只有1元硬币的时候,只有一种结果2.当我们有了2元硬币的时候,结果等于 没有2元硬币的结果数+确定用了一枚2元硬币下其余的金额随意搭配3.到这里逻辑和转化方程就都已经清楚了f [i][j] = f [i − 1][j] + f [i][j − x]最后拿总额11来.

2022-03-18 23:31:47 526

原创 KMP算法

问题:给定一个长字符串和一个目标字符串,匹配字符串,找出目标字符串第一次出现的位置.一、暴力匹配:暴力匹配算法的思路很简单,用模式串的第一个字符和主串的第一个字符比较,如果相等就用模式串的第二个字符和主串的第二个字符比较,如果不相等就用子串的第一个字符和主串的第二个字符比较,以此类推:public class 字符串暴力匹配 { public static void main(String[] args) { String st = "李怡嘉怡怡怡"; St

2022-03-18 20:55:05 337

原创 第十一届蓝桥杯JavaB组省赛H_数字三角形

一、题目:二、题目分析:动态规划题从上往下走,本行数=本行数+max(左上点的值,右上点的值);向左下走的次数与向右下走的次数相差不能超过 1 表示:1.奇数行只能走到最后一行的中间那个数2.偶数行只能走到最后一行的中间两个数三、解法import java.util.Scanner;public class H_数字三角形 { public static void main(String[] args) { //接收数据 Scanner

2022-03-12 09:50:30 1139

原创 第十二届蓝桥杯JavaB组省赛H_杨辉三角形

一、题目:二、题目分析:首先这个题是我们比较熟悉的杨辉三角,需要注意的就是评测用例的范围。三、解法.题目给出20%的用例是1-10 所以可以直接 枚举出1-10的即可获得2分.下面我第一次的解法,思路就是依次算出数值,直到找到目标值,由于太复杂,最后得了4分:import java.util.ArrayList;import java.util.Scanner;public class H_杨辉三角形 { public static void main(String[] ar

2022-03-10 20:26:19 580 5

原创 河科院发现杯热身赛第二题

(热身赛)题目地址package dll.热身赛;import java.util.HashMap;import java.util.Scanner;public class Main { public static void main(String[] args) { HashMap<String, String> map = new HashMap<>(); add(map); Scanner sc = new

2021-12-11 09:21:26 183

转载 二叉树--

基本概念树除了根节点之外,每个节点只要一个父节点,根节点没有父节点。除了叶节点之外,所有节点都有一个或者多个节点,叶节点没有子节点。父节点和子节点之间用指针相连。二叉树二叉树具有以下性质:非空二叉树的第n层上至多有2^(n-1)个元素。深度为h的二叉树至多有2^h-1个结点。数据结构定义public class BTNode { int val; //值 BTNode left; //左子树 BTNode right; //右子树 public B

2021-08-21 17:31:37 92

原创 Spring Security——基于表达式的权限控制

文章目录一、通过表达式控制URL权限二、 通过表达式控制方法权限一、通过表达式控制URL权限二、 通过表达式控制方法权限Spring Security中定义了四个支持使用表达式的注解,分别是@PreAuthorize、@PostAuthorize、@PreFilter和@PostFilter。其中前两者可以用来在方法调用前或者调用后进行权限检查,后两者可以用来对集合类型的参数或者返回值进行过滤。这四个注解默认不生效 需要在securityconfuig加上:1.@PreAuthori.

2021-08-14 15:54:13 310

原创 mybatis中动态sql常用的标签

详解地址 还未总结

2021-08-06 16:50:15 89

原创 mybatis plus强大的条件构造器

2021-08-05 21:17:51 99

原创 Mybatis-Plus条件构造器condition动态判断条件

2021-08-05 20:32:56 301

原创 mybatis-plus自带方法使用

mapper.insert方法:插入方法主键自动生成id但是怎么生成一个这么大的数字呢?为什么这里数据库插入的id的默认值为:全局唯一id。解决办法:AUTO策略:我们修改实体类中的id注解为:@TableId(value = “id”, type = IdType.AUTO)并修改数据库中表tbl_user的id确定为自增。不然启动会报错:Field ‘id’ doesn’t have a default value.mapper.updateById方法更新方法根据主键id

2021-08-05 20:27:41 494

原创 TKmapper的更新方法updateByPrimaryKey()与updateByPrimaryKeySelective()

Mybatis之更新方法: updateByPrimaryKeySelective() 和 updateByPrimaryKey() 的区别int updateByPrimaryKeySelective(TbItem record); int updateByPrimaryKey(TbItem record);上面的是逆转工程生成的Mapper接口对应的xml为<update id="updateByPrimaryKeySelective" parameterType="com.taot

2021-08-05 09:58:52 2359

原创 JavaBean 实现 implements Serializable 序列化

implements Serializable 的目的是在网络传输过程中将类对象转换为字符序列,这些字符序列可以用来重建对象。持久存储,将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本。按值封送,尤其是在分布式系统中。如果对象标记为 Serializable,则该对象将被自动序列化,并从一个应用程序域传输至另一个应用程序域,然后进行反序列化,从而在第二个应用程序域中产生出该对 象的一个精确副本。方便传输@Data@Table(name = "tb_community")publ

2021-08-03 16:52:27 666

转载 SpringBoot自动装配原理

原文链接----------------------@SpringBootApplication这个注解由好多注解组成主要的有以下三个:@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan先来看第一个:@SpringBootConfiguration进入这个注解之后会发现原来你就是一个@Configuration啊,一个JavaConfig配置类那我们使用JavaConfig不就是用来配置bean吗,所以有了这个注

2021-08-01 12:01:57 124

原创 05-SpringBoot核心功能之指标监控(了解)

博客地址:点击在这能查看所有端点定制health端点配置:

2021-07-31 15:56:15 94

原创 04-SpringBoot核心功能之单元测试

https://blog.csdn.net/weixin_45583303/article/details/117264093 ----

2021-07-31 14:37:12 81

原创 Spring容器常用注解

4.2、容器功能4.2.1、组件添加:下面这些注解需要掌握@Configuration:表明一个类是配置类,给容器中添加组件@Bean:给容器中添加一个Bean@Component:给容器中添加组件@Controller:表明一个类是控制类@Service:表明一个类是服务类@Repository:表明一个类是数据操作类@ComponentScan:指定包扫描路径@Import:导入某个类到容器@Conditional:按条件添加组件,判断为true的时候才执行@ImportReso

2021-07-30 17:03:57 392

原创 @Autowired 和@Resource区别 AND @Component, @Repository, @Service,@Controller,@Mapper的区别使用

Spring 注解 @Autowired 和@Resource 的区别:5、推荐使用:@Resource注解在字段上,这样就不用写setter方法了,并且这个注解是属于J2EE的,减少了与spring的耦合。这样代码看起就比较优雅。补充一下:在java中如果属性或者方法的标识符是private的话,是不能直接访问这个属性的,必须通过setter和getter方法才能够访问这个属性。@Autowired作用在字段上也不用写setter方法–底层是通过java的反射机制实现的,两者差别主要是装载顺序

2021-07-30 16:22:08 628 1

原创 mybatis-plus

mybatis-plus导入依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version></dependency>plus导入后不用引入mybatis和jdbc的了SqlSessionFact.

2021-07-29 22:18:32 103

原创 三、链表--

给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-nodes-in-k-group输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5]解题:代码:public class leetcode_25 { p

2021-07-28 17:25:21 89

原创 javaweb的四大作用域

JavaWeb的四大作用域为:PageContext,ServletRequest,HttpSession,ServletContext;PageContext域:作用范围是整个JSP页面,是四大作用域中最小的一个;生命周期是当对JSP的请求时开始,当响应结束时销毁。ServletRequest域:作用范围是整个请求链(请求转发也存在);生命周期是在service方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。**HttpSession域:**作用范围是一次会话。

2021-07-26 09:13:59 660

原创 03-SpringBoot核心功能之web开发

转载于:https://blog.csdn.net/weixin_45583303/article/details/117068543静态资源访问静态资源目录只要静态资源放在类路径下(resources文件夹下),默认就可以被访问到: /static /public /resources /META-INF/resources访问 : 当前项目根路径/静态资源名 例如:localhost:8080/public.jpg原理:请求进来,先去找Controller看能不能处理,就

2021-07-24 16:53:51 194

转载 02-SpringBoot核心功能之配置文件

转载于:https://blog.csdn.net/weixin_45583303/article/details/117065359SpingBoot支持的配置文件有很多种,原生的配置文件使用比较麻烦,一般使用properties结尾的配置文件,或者是yaml配置文件,下面主要介绍yaml配置文件的使用语法字符串默认不用加上单引号或者双引号,也可以加,但是单引号和双引号的功能有点区别双引号:会转义特殊字符单引号;不会转义字符串里面的特殊字符,特殊字符最终只是一个普通的字符串数据对象:键值对的

2021-07-24 16:44:39 102

转载 01-SpringBoot基础入门

尚硅谷原文:https://www.yuque.com/atguigu/springboot/vgzmgh转载于 https://blog.csdn.net/weixin_45583303/article/details/117060513默认的包结构:默认的包扫描规则主程序(main方法)所在包及其下面的所有子包里面的组件都会被默认扫描进来 无需以前的包扫描配置,即在主配置类中添加各种包扫描还可以在SpringBoot的主配置类中:@SpringBootApplication(scanBas

2021-07-24 16:39:06 129

原创 全局统一返回实现方案未完成

https://blog.csdn.net/u013241093/article/details/105231883/?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0.control&spm=1001.2101.3001.4242https://blog.csdn.net/suprezheng/article/details/105458191?utm_mediu

2021-07-23 08:56:01 91

转载 统一验证@Valid

@Valid首先,我们在 Maven 配置中引入 @valid 的依赖:如果你是 springboot 项目,那么可以不用引入了,已经引入了,他就存在于最核心的 web 开发包里面。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version&gt

2021-07-22 10:54:29 238 1

原创 SpringMVC中请求转发与重定向

请求转发,直接使用jsp文件名。这样做的前提是对应的jsp页面在自己配置的视图解析器路径下。<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--前缀--> <property name="prefix" value="/WEB-INF/jsp/"></proper

2021-07-21 16:31:37 88

原创 Http详解

HTTP方法 主要列举常见的以及常用的方法。 GET:请求资源; POST:传输资源; HEAD:获取报文首部数据; PUT:更新资源;(应用不多) DELETE:删除资源;(应用更少)POST和GET的区别 1、GET 在浏览器回退时是无害的,而POST会再次提交请求。 2、GET 请求会被浏览器主动缓存,POST不会,除非手动设置。 3、GET 请求参数会被完整保留在浏览器历史记录中,POST不会保存。 .

2021-07-21 15:39:16 137

原创 @ResponseBody/@RequestBody用法

方法/步骤@RequestBody的作用其实是将json格式的数据转为java对象。后台接收前台传来的json对象用PostMapping例一:向表中批量插入数据举个批量插入数据的例子,Controller层的写法如下图所示:批量向表中插入两条数据,这里的 saveBatchNovel()方法已经封装了 JPA的 saveAll() 方法。body 里面的 json 语句的 key 值要与后端实体类的属性一一对应例二:后端解析json数据上述示例是传递到实体类中的具体写法,那么如果传

2021-07-21 15:29:44 2836

原创 @GetMapping@PostMapping用法

https://blog.csdn.net/weixin_41167961/article/details/118102153当方法中的参数为@RequestParam、@PathVaiable、无参的情况下使用@GetMapping当方法中的参数为@RequestBody、多参、对象参数的情况下使用@PostMapping

2021-07-20 20:51:30 836

空空如也

空空如也

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

TA关注的人

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