自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows10 安装ES

Windows10 安装ES1、先配置JDK1.8得环境,这是最低要求2、到ES官网下载ES,这里下载得是7.6.1版本3、解压下载下来得安装包,在命令行里面得bin目录下执行 elasticsearch -d出现了报错,根据搜索得知,需要在config文件夹里面的elasticsearch.yml 文件里面,添加xpack.ml.enabled: false,这里是此处问题得链接php - Install elasticsearch on windows - Stack Overflow同时

2021-10-13 10:11:04 1547

原创 AC 自动机算法 JAVA代码 实现

AC自动机算法1、简要概述​ 什么是AC自动机算法?​ AC自动机算法是一种多模式字符串匹配算法,什么是多模式?从单模式说起,举个kmp算法的例子,单模式就是利用kmp算法验证某个敏感词在一个字符串内是否存在;多模式是说验证多个敏感词在一个字符串内是否存在。如果使用kmp来做的话,依次遍历多个敏感词,每个敏感词使用kmp验证,当敏感词数量很多的时候效率很低,这时候就用到AC自动机算法了。​ 为什么AC自动机算法效率高?​ 结论:其能在约为O(n) 的时间复杂度内完成对多个敏感词的查找,而且

2020-12-04 19:41:48 2934 4

原创 数据库索引

数据库索引1、索引的模型介绍1.索引的作用:提高数据查询效率,类似于书的目录2.常见索引模型:哈希表、有序数组、搜索树3.哈希表:键 - 值(key - value)。4.哈希思路:把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置5.哈希冲突的处理办法:链表6.哈希表适用场景:只有等值查询的场景比如User2 和 User4 根据身份证号算出来的值都是 N,但没关系,后面还跟了一个链表。假设,这时候你要查 ID_card_n2 对应的名字是什

2020-12-04 19:31:45 285

原创 找出数组中出现次数超过数组长度的一半的数字

文章目录找出数组中出现次数超过数组长度的一半的数字方法一 、数组排序方法二、HashMap方法三、摩尔投票法找出数组中出现次数超过数组长度的一半的数字方法一 、数组排序先将数组排序,因为是找出出现次数超过数组长度一半的数字,故在数组中间的数一定是答案,为什么呢?可以举极端的例子,比如经过排序后,这个数字最大,故这个最大的数字组成的相等的区间全部在数组的一侧(从小到大排序在数组右侧,从大到小排序在数组左侧),因为这个数字出现次数超过数组长度的一半,故数组中间那个数,肯定是所求的数字。既然极端的情况符合要

2020-10-29 12:38:30 627

原创 Spring Boot+Spring Security+Jwt实现登陆认证

文章目录Spring Boot+Spring Security+Jwt实现登陆认证1.JWT简介传统session认证的流程:jwt认证机制及流程jwt是什么样子2.Spring Security 登陆流程3. 两者结合Spring Boot+Spring Security+Jwt实现登陆认证1.JWT简介​ 在项目里面,实现登录认证有很多方式,其中传统的session和jwt应该是主要的两种,通过对比我们来揭开jwt的神秘面纱。传统session认证的流程:用户向服务器发送用户名和密码;服务

2020-10-22 15:38:47 943

原创 SpringSecurity登录认证流程

SpringSecurity登录认证流程目录SpringSecurity简介springSecurity登录认证流程一、Springsecurity简介​ Spring Security是一个灵活和强大的身份验证和访问控制框架,以确保基于Spring的Java Web应用程序的安全,其中就是两方面的功能:认证和授权,认证意思是你是谁,授权意思是你能干什么。核心是通过一组过滤器,里面的每个过滤器去执行一种认证方式。二、登录认证流程​ 我们知道,登录的整体流程是:用户点击登录从前端发起请求

2020-10-21 17:10:06 7637 3

原创 java 多线程

java 多线程一、基础概念1.进程:把一个任务或者应用成为一个进程,比如浏览器,QQ,微信等都是进程。2.线程:进程中程序的执行单元,比如我们在QQ浏览空间的时候,后台还在进行聊天消息的监控,如果在浏览空间网页的同时,来了一条qq消息,那么就会弹出提示窗口。此时浏览空间和后台监控消息就是线程。3.进程与线程之间的关系:一个进程可以包含多个线程,但至少有一个线程,是一种包含关系。同时,多个线程共享进程的资源空间。二 创建线程的方式(两种)1.继承Thread类public class Blog

2020-09-22 17:32:48 114

原创 RuoYi(分离版) 使用代码生成器添加子模块(idea版)

文章目录准备一、使用代码生成器1.数据库2.导入表并生成代码二、导入代码文件1.新建一个模块2.导入zip代码文件3.模块环境配置添加菜单和访问地址总结准备前提要把系统启动起来,部分教程可以参考这边文章若依框架RuoYi前后端分离项目导入IDEA及运行启动但是完全参考这篇文章还是不能把项目启动起来,因为这篇文章没有说明数据库。我是用的是本地数据库,采用xampp+Navicat的组合来部署和访问数据库。打开Navicat,连接并创建数据库ry-vue并导入数据脚本ry_20191008.sql,q

2020-08-31 12:09:28 10422 4

原创 leetcode 52 找两个链表第一个交点

文章目录题目描述分析题目描述https://leetcode-cn.com/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof/代码如下(示例):/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { *

2020-08-29 16:11:53 236

转载 java 邮件发送功能

文章目录一、准备工作?二、代码实现参考文献链接https://blog.csdn.net/xietansheng/article/details/51673073一、准备工作?1.开启服务(这里在163邮箱里的设置里面可以找到)2.下载jar包并导入工程JavaMail 下载地址: https://github.com/javaee/javamail/releases二、代码实现package com.example.lanya;import javax.mail.Session;i

2020-08-28 21:43:45 373

原创 MYSQL必知必会 第四章 检索数据

文章目录一、基础知识1.MYSQL与SQL的区别:2.数据库基本概念二、检索数据1.检索单个列2.检索多个列3.检索所有列4.检索不同的行5.限制结果一、基础知识1.MYSQL与SQL的区别:    MYSQL是一个DBMS(数据库管理系统),即它是一种数据库软件。人们通常用数据库这个术语来代表他们使用的数据库软件。这是不正确的。数据库软件应称为DBMS(数据库管理系统)。数据库是通过DBMS创建和操纵的容器。数据库可以是保存在硬设备上的文件,但也可以不是。在

2020-08-25 10:42:05 268

原创 JAVA 方法参数解析(引用传递?值传递?)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、结论二、代码举例1.当传入的是变量2.当传入的是变量的引用总结前言在日常写程序过程中,我们会把参数传到方法里面去,然后方法就会调用我们的参数,那么在java里面到底是按照值传递还是引用传递?在这里Mark下一、结论首先在这里先说明结论:根据java核心卷一里所写,java总是采用按值调用。一切传引用其实本质上是传值二、代码举例1.当传入的是变量public class Test { public s

2020-08-24 18:02:01 346

原创 求二叉树最小深度和最大深度

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、二叉树是什么?二、最大深度1.利用深度优先搜索求其最大深度2.利用深度优先搜索求其最小深度总结前言在刷leetcode时,把二叉树最小深度和最大深度搞混了,在这里mark下一、二叉树是什么?二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树二、最大深度1.利用深度优先搜索求其最大深度代码如下(示例): public int maxDepth(TreeNod

2020-08-21 11:23:59 1095

原创 java 构建字符串

摘自java核心卷1--基础知识我们知道,在java中拼接字符串可以通过+号完成,但是这种方式效率很低,因为在java中String类型是不可变的,如果每次都需要+完成拼接的话,都会构成一个新的String对象,费空间费时间,所以有了StringBuilder避免了这个问题,它能够被多次的修改,并且不产生新的未使用对象。...

2020-08-20 21:44:28 137

转载 java String对象不可变的学习

什么是不可变对象?众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变。区分对象和对象的引用对于Java初学者, 对于String是不可变对象总是存有疑惑。看下面代码: String s = "ABCabc"; Syst.

2020-08-20 21:19:40 116

原创 选择排序

选择排序是一种最简单的排序方式,主要的思想:首先,找到数组中最小的那个数及其下标,将最小的这个数与数组第一个数交换位置,那么这个最小的数就在数组的第一个位置了,然后从数组第二个位置开始寻找最小的数,找到后与数组的第二个位置的数进行交换,如果没找到,就自己交换自己。反复下去,就得到了排序的数组。这种方法就叫选择排序,因为它总是在不选的选择剩余元素的最小值。案例图示:代码 ...

2020-01-03 21:01:54 404

原创 Good Transformation

DescriptionThe transportation problem is to minimize the cost of transporting good from m source nodes to n destination nodes through arcs. Arcs are directed routes from source to destination which ...

2019-12-13 21:45:47 161

原创 poj1852 蚂蚁

题目名称:一群蚂蚁在一根长L厘米的水平杆子上行走,每个蚂蚁的速度恒定为1厘米/秒。当一只行走的蚂蚁到达极点时,它马上就会从上面掉下来。当两只蚂蚁相遇时,它们会掉头朝相反的方向走。我们知道蚂蚁在杆子的最初位置,但是不知道蚂蚁行走的方向,最后计算所有蚂蚁从杆子坠落的最早和最迟的可能时间。输入要求:第一行包含一个整数,表示实验的次数。第二行有两个数,分别表示杆子的长度和蚂蚁的数量,第三行表示...

2019-11-22 16:32:40 766

原创 辗转相除法 求最大公约数

问题 如何求两个数字的最大公约数?一般的想法是暴力,检测1,2,······n(最小的一个数),分别检测这些数中能被两个数整除的最大的那个数。还有一种辗转相除算法可求最大公约数原理例如 a=16,b=1216除12=1余4下面 12当被除数,4当除数,即:12除4=3余0那么4就是最大公约数也不用担心两个数谁除以谁的问题,因为当12除16的时候,商为0,余数为12...

2019-09-28 15:33:12 202

原创 最近点对问题

PS:为什么阴影区域是d*2d的面积和至于为什么最多有6个点,我是这样理解的。首先对于任意一个左侧区域的px点,他有可能位于中间的垂线上面,因此如果存在最小的d在中间区域,则一定位于d*2d的阴影内,此外,不难发现,除了订单的6个点,如果还存在其他的点,那么必定右侧就会出现最小的d,之前我们利用分治法已经得到两边最小的d值了。因此矛盾。于是步骤如下:步骤1:根据点的y值和x值对...

2019-09-28 15:18:28 617

原创 poj 2078 矩阵右移问题

问题描述 MatrixDescriptionGiven an n*n matrix A, whose entries Ai,j are integer numbers ( 0 <= i < n, 0 <= j < n ). An operation SHIFT at r...

2019-09-19 15:49:50 977

原创 埃式筛法

介绍及思想埃式筛法主要用于筛选素数,思想就是如果一个数是质数,那么它的倍数肯定非质。代码判断2-n之间的素数,用的是数组下标表示的,如果为素数,则为truevoid sieve(){ for(int i=2;i<=n;i++) { is_prime[i]=true; } for(int i=2;i<=n;i++) { if(is_prime[i])...

2019-09-18 20:42:32 1185

原创 Prime Path 素数路径

问题描述The ministers of the cabinet were quite upset by the message from the Chief of Security stating that they would all have to change the four-digit room numbers on their offices.— It is a matter ...

2019-09-18 20:09:49 1203

原创 数组的递归全排列算法

算法思想对于全排列的概念,不过多介绍,只介绍算法的思想,对于一串数字要想实现全排列,可以采取递归的思想。前提所有的数都不相同,固定第一位的数,那么剩下的一串数字就可以当做新的待全排列的集合,那么除去第一位的数字,对剩下的数字集合进行全排列,以此类推,直到只剩下最后一个元素。全排列就是交换位置。举个例子例如1,2,3,4。它的排列有1234,1243,1324,1342,1432,142...

2019-09-18 11:21:49 1087

转载 Python3 Sorted排序(key=lambda)

sorted(iterable[, key][, reverse])从iterable中的项目返回新的排序列表。有两个可选参数,必须指定为关键字参数。key指定一个参数的函数,用于从每个列表元素中提取比较键:key=str.lower。默认值为None(直接比较元素)。reverse是一个布尔值。如果设置为True,那么列表元素将按照每个比较反转进行排序。示例:创...

2019-07-25 12:09:42 2869 1

原创 mysql 中文乱码问题

问题摘要:在用php更新数据库数据的时候出现了中文乱码问题,之前也遇到过,今天解决了,mark一下。首先看一下自己数据库的编码设置:命令:SHOW variables like 'char%';mysql的默认编码是Latin1,不支持中文,所以可以改为utf8,我的服务器是腾讯云的,系统为centos,要修改配置文件my.cnf这个文件在 /etc/my.cnf,找到...

2019-04-25 19:40:26 158

原创 快速排序

快速排序属于交换类排序,通过多次划分操作实现排序。以升序为例,每一趟选择当前所有子序列的一个关键字(通常为第一个),作为枢纽,将子序列中比枢纽小的的移到枢纽的前边,比枢纽大的移到枢纽的后边,当本趟所有子序列都被枢纽以上述规则划分完毕后会得到新的一组更短的子序列,他们成为下一趟划分的初始序列集#include&lt;stdio.h&gt;void Quicksort(int a[],int...

2018-08-20 18:23:10 89

转载 快速幂

废话不多说, 直接步入正题。现在oj网站的题或者竞赛的题,如果a的b次幂且b很大,那么题中大多会让你把结果对一个数取余也就是求模,例如a^b%c这种,当然如果是考高精度的题除外。接下来我将提供一种常规算法和两种竞赛中主流的快幂算法。首先我们设题目要求为a^b mod c常规算法这里我就不多作解释,直接码代码了[cpp] view plain copyint mod(int a, int b, in...

2018-03-28 21:08:15 109

原创 素数个数

用 01234567 这 8 个数组成的所有整数中,质数有多少个(每个数字必须用到且只能用一次)。提示:以 0 开始的数字是非法数字。//用 01234567 这 8 个数组成的所有整数中,质数有多少个(每个数字必须用到且只能用一次)。////提示:以 0 开始的数字是非法数字。#include&lt;iostream&gt;#include&lt;algorithm&gt;#inclu...

2018-03-27 20:23:05 689

原创 矩阵求和

不仅仅是简单的把矩阵中点的数字十字相加,仔细审题发现,是将中点连线覆盖的数字相加直接上代码#include&lt;stdio.h&gt;int a[120][120];int main(){ int k=0,q=101,p=100; int sum=0; int b=0; int t=1; //用二维数组代表矩阵 for(int i=1;i&lt;=101;i++) {...

2018-03-26 20:29:00 3861

原创 数组内查找

渣渣起步阶段(you got what you paid for)方法一:(太麻烦了)//美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,//他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次...

2018-03-24 20:46:37 182

转载 freopen()函数的使用

转帖:http://www.cnblogs.com/moonlit/archive/2011/06/12/2078712.html通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中。但由于调试往往不能一次成功,每次运行时,都要重新输入一遍测试数据,对于有大量输入数据的题目,输入数据需要花费大量时间。         使用fre...

2018-03-05 16:27:24 1314 1

转载 十进制转十六进制

废话少说,直接上代码!!#include&lt;iostream&gt;using namespace std;int main(){ int a,i=0; char b[100]; cin&gt;&gt;a; if(a==0) cout&lt;&lt;"0"; else { while(a&gt;0) { if(a%16&gt;=10) ...

2018-02-25 17:10:49 94

原创 switch case语句,如果不在case后加break会怎么样

今天在学习php的时候,忽然发现 switch case 语句的一个不理解的地方,在之前的C,java的时候竟然都不知道,很气,还是自己的基础不牢固啊。废话少说,直接上代码<?php/** * Created by PhpStorm. * User: 1 * Date: 2017-11-09 * Time: 19:51 */$text="red";switch ($te

2017-11-09 21:25:28 10408 1

转载 Python3.x和Python2.x的区别

转载地址:http://www.cnblogs.com/codingmylife/archive/2010/06/06/1752807.html1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果。 Py3.1性能比Py2.5慢15%,还有很大的提升空间。 

2017-09-02 10:41:46 196

原创 python 字典中的copy函数的浅拷贝问题

python浅拷贝与深拷贝浅拷贝是指拷贝的只是原对象元素的引用,换句话说,浅拷贝产生的对象本身是新的,但是它的内容不是新的,只是对原对象的一个引用。深拷贝是复制一个内容而不是简单的复制引用而已换句话说:有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存也就是说,在浅拷贝情况下,不同引用指向的是同

2017-08-09 16:32:31 1174 1

原创 STM32F103系列 PB4引脚问题

因为STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能1、禁用PB4复用功能    GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);     或者GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);    用这两天其

2017-08-09 15:26:11 3487

转载 STM32 flash 读写操作

一、Flash简介  通过对stm32内部的flash的读写可以实现对stm32的编程操作。  stm32的内置可编程Flash在许多场合具有十分重要的意义。如其支持ICP(In Circuit Programming,在电路编程;在线编程)特性使得开发人员对stm32可以警醒调试开发,可以通过JTAG和SWD接口对stm32进行程序烧写;支持IAP(In Application

2017-08-09 11:37:18 4257 5

原创 python代码缩进与中文乱码问题

在编写python代码中,在学习到while和if语句的时候,相对比于java他并没有小括号来划分循环体,而是用缩进来划分结构体,所以在python中,缩进十分重要!举个例子吧# -*- coding: utf-8 -*-a=0while a10: print a, a=a+1printprint "跳出循环体"输出结果为0 1 2 3 4 5 6 7

2017-07-20 19:39:50 324

空空如也

空空如也

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

TA关注的人

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