- 博客(57)
- 收藏
- 关注
原创 Python3倒序遍历三种实现方法
2、for i in range( length(s)-1, -1, -1): #通过下标逆序实现。3、for i in reversed(s): #通过reversed实现。1、for i in s[ : : -1]: #通过下标逆序实现。
2023-09-16 20:38:04
677
原创 解决redis-server闪退问题
1、找到redis文件的根目录,在路径上输入cmd,点击回车进入命令行2、然后输入 redis-server.exe redis.windows.conf,会出现下面结果3、再输入下图所示即会成功启动服务启动成功后的界面如下图所示:...
2022-05-25 16:44:39
996
原创 @Validated和@Valid的区别
@Validated和@Valid的区别主要体现在3个方面:1. 分组@Validated:提供了一个分组功能,可以在入参验证时,根据不同的分组采用不同的验证机制。没有添加分组属性时,默认验证没有分组的验证属性。实体类:Controller层:@Valid:作为标准JSR-303规范,还没有吸收分组的功能。2. 注解地方@Validated:可以用在类型、方法和方法参数上。但是不能用在成员属性(字段)上@Valid:可以用在方法、构造函数、方法参数和成员属性(字段)上
2022-05-24 15:48:39
11612
原创 字符串为null和字符串长度为0(即空串)的区别
String str1 = null; //str1没有没有指向任何对象String str2 = ""; //str2指向了一个字符串对象,但是这个字符串的长度为0str1.toString(); // 报错 str2.toString(); // 不报错
2022-05-24 15:28:57
415
原创 SpringBoot注解@Validated的使用
@Validated对实体类进行校验基础参数校验:@Null,@NotNull,@NotEmpty,@NotBlank
2022-05-24 15:16:39
309
原创 Iterator迭代器
迭代器(lterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址[1]。或者说 迭代器表现的像指针,读取集合或者数组中的一个值,读完以后又指向下一条数据,一个个数过去。每一次调用next方法,都会返回数据结构的当前成员的信息。具体来说,就是返回一个包含value和done两个属性的对象。其中,value属性是当前成员的值,done属性是一个布尔值,表示遍历是否结束。...
2022-05-18 11:15:35
98
原创 java Math.random()生成随机整数
Java中Math类的random()方法可以生成[0,1)之间的随机浮点数。生成随机整数需要将double类型数据强制转换成int类型。int temp=m+(int)(Math.random()*(n+1-m)); //生成从m到n的随机整数[m,n]int number = (int)(Math.random()*4+1);//生成的随机数范围在[1,5)...
2022-05-15 18:13:05
3166
原创 Java配置中常用注释
@Configuration:声明一个类作为配置类,代替xml文件@Bean:声明在方法上,将方法的返回值加入@Bean容器,代替<bean>标签@Value:属性注入@PropertySourse:指定外部属性文件
2022-04-17 14:02:06
325
原创 ELO算法原理及实现
elo等级分制度应用很广泛,大部分棋类比赛和网友游戏都会用到,比如国际象棋,我们比较熟悉的手游王者荣耀等都是应用了这个机制。ELO计算方法:Ra:A玩家当前的积分Rb:B玩家当前的积分Sa:实际胜负值,胜=1,平=0.5,负=0Ea:预期A的胜负值,Ea=1/(1+10(Rb-Ra)/400)Eb:预期B的胜负值,Eb=1/(1+10(Ra-Rb)/400)E值也为预估,Ea+Eb=1R'a:A玩家进行一场比赛之后的积分,R'a=Ra+k(Sa - Ea);其中k是一个常量系
2022-03-25 10:56:03
8410
原创 多环境配置及配置文件的位置
多环境配置及配置文件的位置多环境配置,又一次展现了yaml的强大之处:#用---来分隔文件#spring.profiles来标注版本#spring.profiles.active来激活版本server: port: 8081spring: profiles: active: test #激活test版本---server: port: 8082spring: profiles: dev #dev版本---server: port: 8083.
2022-02-18 18:12:39
318
原创 谈谈对springboot的理解
谈谈对springboot的理解 自动装配原理 Springboot自动装配原理_CSDNhdlg的博客-CSDN博客https://blog.csdn.net/CSDNhdlg/article/details/122988931?spm=1001.2014.3001.5502 run() 推断应有的类型是普通项目还是Web项目 查找并加载所有的可用初始化器,设置到initializers属性中 找出所有的应用程序监听器,设置到liste.
2022-02-18 11:18:47
1268
原创 Springboot自动装配原理
原理初探自动配置:pom.xml spring-boot-dependencies:核心依赖在父工程中 我们再写或者引入一些springboot依赖的时候,不需要指定版本,就是因为有这些版本仓库 启动器 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId&...
2022-02-17 18:53:20
506
原创 算法训练 区间k大数查询
#include<stdio.h>int main(){ int i,n,a[100],b[100],c[100]; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); int m; scanf("%d",&m); int l,r,k,max,j,q,w,cnt=0; for(q=1;q<=m;q++){ scanf...
2022-02-13 21:37:15
294
原创 十六进制转八进制
#include<stdio.h>#define N 50int main(){ int i,n; int ch[N]; scanf("%d",&n); for(i=0;i<n;i++) scanf("%x",&ch[i]);//输16进制数 for(i=0;i<n;i++) printf("%o\n",ch[i]);//输出8进制数 return 0;}...
2022-02-13 17:13:49
282
原创 十六进制转十进制
#include<stdio.h>int main(){ char s[50]; scanf("%s",s); int t,i; long sum=0; for(i=0;s[i];i++){ if(s[i]<='9') t=s[i]-'0'; else t=s[i]-'A'+10; sum=sum*16+t; } printf("%ld\...
2022-02-13 12:46:10
387
原创 十进制转十六进制
#include <stdio.h>#include <stdlib.h>#include<string.h>int main(){ long long int a; scanf("%lld",&a); char q[100],w[100]; int cnt=0; if(a==0) printf("0\n"); else{ while(a){ q[++c...
2022-02-13 12:23:23
515
原创 创建一个MavenWeb项目
启动IDEA 创建一个Maven项目 创建成功 观察Maven仓库中多了什么东西? IDEA中的Maven设置 ...
2022-02-11 08:37:38
321
原创 Http协议
Http协议1.1 Http请求 客户端--->发请求(Request)--->服务器 1、请求行 请求行中的请求方式:GET 请求方式:Get,Post,HEAD,DELETE,PUT... get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效 post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效 2、消息.
2022-02-09 18:32:15
1540
原创 杨辉三角形
#include <stdio.h>int main(){ int i,j,n; int a[100][100]; scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<=i;j++){ if(j==0||j==i) a[i][j]=1; else a[i][j]=a[i...
2022-02-05 22:20:37
395
原创 二分查找法
题解思路:开始用 low 和 high分别表示数组中首尾元素的下标,中间元素的下标 mid = (low + high)/2;若目标值 target 等于 nums[mid] 值,直接返回下标mid;否则当目标值 target 大于 nums[mid] 时,更新 low 值, low = mid + 1;当目标值 target 小于 nums[mid] 时,更新 high 值, high = mid - 1;一直循环,直到 low 大于 high(返回 -1)或 找到目标值(返回mid)。public
2022-01-29 16:33:28
467
原创 删除有序数组中的重复项
题解思路:使用双指针,定义一个快指针fast和一个慢指针slow;当fast 与 fast-1相同时,++fast;不同时,nums[slow] = nums[fast];最后返回slow即为删除后数组的长度。public int removeDuplicates(int[] nums){ int n = nums.length; if (n == 0) return 0; int fast = 1; int slow = 1; while (fast &l
2022-01-29 10:49:39
1179
原创 合并两个有序链表
public ListNode mergeTwoList(ListNode list1 ,ListNode list2){ ListNode preNode = new ListNode(); ListNode pre = preNode; while (list1 != null && list2 != null){ if ( list1.val <= list2.val) { pre.next = list1; .
2022-01-28 21:18:01
469
原创 有效的括号
题解思路:先根据字符串长度直接判断一下结果,若长度不能被2整除,直接返回false;若长度能被2整除就继续往下进行,创建一个字符型的栈,遍历字符串,如果遇到左括号就将其压入栈中,如果遇到右括号就将栈顶元素弹出,最后如果栈空,则返回true;反之返回false。class Solution { public boolean isValid(String s) { if (s.length()%2 !=0) return false;St...
2022-01-28 19:11:16
626
原创 最长公共前缀
纵向扫描:从前往后遍历所有字符串的每一列,比较相同列上的字符是否相同,如果相同则继续对下一列进行比较,如果不相同则当前列不再属于公共前缀,当前列之前的部分为最长公共前缀。public static String longestCommonPrefix(String[] strs){ if (strs == null || strs.length == 0){ return ""; } String s = null; int length = strs[.
2022-01-28 14:58:02
293
原创 罗马数字转整数
题解思路:保留当前位的值,遍历下一位,然后比较下一位与当前值的大小关系,如果当前值小于下一位,用减法;反之用加法。class Solution { public int romanToInt(String s) { int result = 0; int prenum = getValue(s.charAt(0)); for (int i = 1; i < s.length() ; i++) { int num =g
2022-01-28 11:46:04
159
原创 Java实现回文数
public static boolean isPalindrome(int x) { if (x < 0) return false; String str = x + ""; int low = 0; int high = str.length() - 1; while (low < high) { if (str.charAt(low) == str.charAt(high)) { low++.
2022-01-27 21:08:52
200
原创 捕获和抛出异常
捕获和抛出异常异常处理五个关键字try, catch, finalpackage exception;public class Test { public static void main(String[] args) { int a = 1; int b = 0; //捕获多个异常,从小到大! try {//try监控区域 System.out.println(a/b); }...
2022-01-26 13:29:08
169
原创 N种内部类
N种内部类package oop.demo9;public class Outer { private int id = 10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){ System.out.println("这是内部类的方法"); } ...
2022-01-26 09:38:54
264
原创 static关键字详解
static关键字详解静态变量可使用类来直接调用,非静态变量只能通过对象来调用package oop.Demo6;public class Student { private static int age;//静态的变量 多线程! private double score;//非静态的变量 public static void main(String[] args) { Student s1 = new Student(); ...
2022-01-25 15:20:06
182
原创 instanceof和类型转换
instanceof 和 类型转换instanceof:public static void main(String[] args) { //Object > String //Object > Person > Teacher //Object > Person > Student Object object = new Student();//System.out.println(x instanceof y);能不能编译...
2022-01-25 14:40:27
101
原创 多态的详解
多态注意事项:1.多态是方法的多态,属性没有多态2.父类和子类,有联系 类型转换异常!ClassCastException!3.存在条件:继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new Son();不能重写的方法:1.static方法属于类,不属于实例2.final常量3.private方法```javapackage oop;import oop.Demo4.Person;import oop.Demo4.Student;publi...
2022-01-25 12:29:49
151
原创 继承中的super和 this
继承super VS thissuper注意点: 1.super调用父类构造方法必须在子类构造方法的第一行 2.super必须只能出现在子类的方法或者构造方法中! 3.super和this不能同时调用构造方法!vsthis: 代表的对象不同: this:代表本身调用者这个对象 super:代表父类对象的引用 前提: this:没有继承也可以使用 super:只能在继承条件下使用...
2022-01-24 19:19:53
1825
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人