自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 取模和取余

取余,遵循尽可能让**商向0靠近**的原则;取模,遵循尽可能让**商向负无穷靠近**的原则

2022-06-26 22:25:17 705 1

原创 前缀和与差分

前缀和是一种重要的预处理,能大大降低查询的时间复杂度。可以简单理解为“数列的前n项的和”。根据数组的维度,前缀和有一维前缀和和二维/多维前缀和

2022-06-07 23:56:12 224

原创 字典树 前缀树

字典树是一种数据结构,也叫前缀树、Trie树。比较常用的应用有前缀匹配和词频统计。

2022-06-05 17:23:53 239

原创 数据结构——并查集

并查集是一种数据结构,是树的一种应用,用于处理一些不交集(一系列没有重复元素的集合)的合并以及查询问题。并查集支持如下操作:查询:查询某个元素属于哪个集合,通常是返回集合内的一个“代表元素”。这个操作一般是为了判断两个元素是否在同一个集合之中。合并:将两个集合合并为一个。添加:添加一个新集合,其中有一个新元素。不如查询和合并操作重要。我们来看下面一个比较有趣的并查集应用的例子:话说江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的

2022-05-16 02:54:30 1579

原创 优先队列,堆

普通的数据结构,如果我们想要寻找所存元素中的最大值或者最小值,需要挨个查找。而本章所学的优先队列和堆会按照优先级给元素排序,帮助我们以最快的速度O(1)获取优先级最高的元素。优先队列优先队列把优先级最高的元素设为链表的头节点,这样我们获取或删除优先级最高的元素只需要O(1)的时间复杂度,这么设计的代价就是牺牲插入的效率,每次插入一个新的元素时,我们都需要迭代链表,并找到合适的地方插入,这个时间复杂度往往是O(n)。以下是优先队列支持的操作:push:插入一个新的元素pop:将优先级最高的元素弹出

2022-05-04 22:22:10 628

原创 使用apache的HttpPost上传binary

背景最近做了个java后端上传文件的需求,要求上传文件的时候模仿postman的binary body上传文件:这种上传文件的方式的好处在于不会将文件读入内存,在上传大文件时会有比较好的性能。但是由于没有键值对,一次只能上传一个文件。java实现设置request请求头:"Content-Type": "application/octet-stream"获取HttpEntity:HttpPost post = new HttpPost(url);File file = new File(

2022-05-04 04:17:20 861

原创 哈希表 散列表

在链表和数组中,如果我们想要查找一个特定的数值,时间复杂度都是O(n)。那有什么办法能用最快的速度来找到一个特定的元素呢?答案便是“哈希表”。在哈希表中,查找、删除、新增一个元素,时间复杂度都是O(1)。哈希表(也叫散列表)是一种以键值对的方式来存储元素的数据结构,提供快速的插入和查找功能。哈希表基于数组存储数据,因此能在O(1)时间内定位数据。关键字值(key)通过哈希函数映射为数组下标。缺点就是数组创建后容量固定,如果数据较多需要不断扩展其长度。一般情况下,为了防止计算得到的哈希值超出tableSi

2022-05-04 03:28:42 429

原创 树和二分查找树

树的基本定义在树中,每个节点都含有自己的数值,以及与之相连的子节点,连接子节点的线叫相连线(edge)。如下图所示,A是根节点(root),也是B和C的父节点(parent node),也就是说B、C都是A的子节点(child node)。在树中,没有子节点的节点叫做叶子节点(leaf node),下图中的H、I、J、F、G都是叶子节点。节点的高度(height)和深度(depth)节点的高度和深度是相反的表示,深度是从上到下数的,而高度是从下往上数。若规定根节点的深度和叶子节点的高度都是0:节

2022-05-03 19:36:38 861

原创 docker简介

架构docker由三个部分组成:docker引擎、对象以及docker注册中心。Docker引擎Docker引擎(Docker Engine)是服务端-客户端(C/S)架构的应用,主要有这些部分:Docker守护进程(Docker daemon)、Docker Engine API、Docker客户端(Docker client)。其架构图如下所示:Docker守护进程(Docker daemon):也叫 dockerd,是一个持久化的进程,用户可以管理容器。守护进程会监听Docker Engi

2022-01-24 00:47:18 2327

原创 jacoco插件配置生成单元测试覆盖率报告

maven的phase和goal在讲jacoco配置之前,先讲一下maven插件配置的phase和goal。phase(插件阶段)由goal(插件目标)构成。phase其实就是goal的容器,实际被执行的都是goal。phase被执行时,实际执行的都是被绑定到该phase的goal。比如执行 mvn package(这里的package为phase), 就包含了validate、 compile、test、package四个goal(目标)。一个goal(目标)代表一个具体的task。goal可以属于

2022-01-23 21:06:12 3863 1

原创 DozerMapper:对象转换器使用教程

dozer GitHub地址:https://github.com/DozerMapper/dozer官方wiki:https://dozermapper.github.io/gitbook/第一步:导包<dependency> <groupId>com.github.dozermapper</groupId> <artifactId>dozer-core</artifactId> <version&gt

2021-09-13 23:23:33 2996

原创 Jenkins git实现preBuildMerge

checkout([ $class: 'GitSCM', branches: [[name: 'test']], doGenerateSubmoduleConfigurations: false, extensions: [ [$class: 'PreBuildMerge', options: [$class: 'UserMergeOptions', mergeTarget: '.

2021-08-24 22:43:37 885

原创 maven settings设置本地仓库

方法1:设置localRepository 标签:此方法设置的本地仓库具有读写权限,当本地下载新的依赖时,会缓存到此目录中; 一个settings文件只能设置一个。<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTI

2021-08-24 21:40:40 3758

原创 UML类关系

UML类图关系涉及继承、实现、依赖、关联、聚合、组合六种关系。其中继承和实现又可以归到泛化中。耦合度:泛化>组合>聚合>关联>依赖。当一个类变化,对另一个类产生的影响越大,可以认为耦合度越大。1.依赖依赖使用虚线加箭头表示。比如,动物生存需要氧气、水以及食物等。也就是说,动物依赖于氧气和水,他们之间是依赖关系。发生依赖关系的两个类都不会增加属性。其中的一个类作为另一个类的方法的参数或者返回值,或者是某个方法的变量而已。在上面的例子中,氧气和水作为新陈代谢方法的变量,产

2021-08-15 17:31:07 194

原创 yarn配置文件

yarn现在有两个比较大的版本:yarn1.0和yarn2.0。yarn1.0作为npm的替代方案,能够兼容使用.npmrc配置文件,并且.npmrc的优先级比.yarnrc的优先级更高。但在yarn2.0中,yarn不再支持.npmrc配置文件。一、yarn1.0和npmyarn1.0和npm,除了以下几点,基本上是一致的(.npmrc配置文件):配置文件:yarn的配置文件名为.yarnrc,和npm一样,用户配置文件在~/.yarnrc,项目配置文件在项目根目录下;yarn设置缓存目录的ke

2021-05-04 21:08:51 5222

原创 .npmrc配置文件

一、文件位置全局配置文件:/etc/npmrc用户配置文件:~/.npmrc项目配置文件:$项目根目录/.npmrc通过npm config 修改的是用户配置文件(~/.npmrc)二、命令行设置文件key-valuenpm config set key value如设置仓库信息:npm config set registry https://repo.huaweicloud.com/repository/npm/三、.npmrc文件配置配置仓库:registry=https:/

2021-05-04 19:55:35 15578

原创 解决dockerhub下载镜像慢问题

问题描述我们下载了docker之后,docker pull的镜像默认是从dockerhub下载的。例如,执行docker pull nginx 命令后,docker会去dockerhub去找镜像名为nginx,版本为latest的镜像。但是由于dockerhub被墙,下载就会非常慢。解决办法解决的办法就是更换下载源。目前国内dockerhub的加速下载源有:华为云:https://xxxx.mirror.swr.myhuaweicloud.com网易云:https://hub-mirror.c.

2021-02-24 22:55:44 4841

原创 Python安装包方法

Python安装包的几种常用方式pip安装方式easy_install安装方式源码包安装方式pip安装方式pip一般用在正常的在线安装方式,但是也可以从本地.whl文件中安装Python包,或通过-no-index --find-links参数从本地目录安装。pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/#根据包名安装pip install pkg#也可以从本地的.whl文件安装,如果本地没这

2021-01-24 17:40:48 827

原创 GitHub拉取代码慢解决方案

解决方案1.使用GitHub的镜像网站。网上可以找到的镜像地址有:fastgit.orghttps://doc.fastgit.org/gitclone.comhttps://gitclone.com/giteehttps://gitee.com/mirrorscnpmjs.orghttps://github.com.cnpmjs.org/2.设置git config(设置的是用户配置文件:~/.gitconfig):git config --global http.postb

2021-01-23 04:55:44 6175

原创 Pyinstaller

Pyinstaller 简介PyInstaller是一个压缩python文件成为可执行程序的一个软件。它会扫描你所有的Python文件,并分析所有代码从而找出所有你的代码运行所需的模块。然后,PyInstaller会将所有这些模块和你的代码放在一个文件夹里,或者一个可执行文件里。这样一来,你的用户就不用提前下载各种软件(如各种版本的python,各种不同的python包等)到运行环境了。他们只需要执行打包好的可执行文件就可以使用了。PyInstaller已针对Windows,Mac OS X和GNU

2021-01-16 17:46:01 1062

原创 Linux环境安装Python需要注意的一些点

PYTHONPATHPYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。当你import一个模块时,python解析器对模块位置的搜索顺序是:当前目录;如果不在当前目录,python则搜索在shell变量PYTHONPATH下的每个目录;如果都找不到,就会查看默认目录,Unix下默认目录一般为/usr/local/lib/python/。LD_LIBRARY_PATHLD_LIBRARY_PATH是Linux环境变量名,该环境变量主要用

2021-01-16 17:41:18 1412

原创 setuptools简介

distutils 简介distutils 是标准库中负责建立 Python 第三方库的安装器,使用它能够进行 Python 模块的安装和发布。distutils 对于简单的分发很有用,但功能缺少。setuptools 简介setuptools 是 distutils 增强版,不包括在标准库中。其扩展了很多功能,能够帮助开发者更好的创建和分发 Python 包。大部分 Python 用户都会使用更先进的 setuptools 模块。特性文件setup.py、MANIFEST.in、setup.cf

2021-01-16 17:20:23 10960 4

原创 spring boot打包压缩下载resources目录下的多个文件

一、打包成zip:ZipUtil /** * 打包resources目录下的文件夹(不能递归压缩) * @param filePath * @param zipName * @param pattern 通配符,如/** */ @SneakyThrows(IOException.class) public static ...

2020-03-21 14:50:01 1204

转载 Vue — 子组件改变父组件属性值的几种方法

1,props配合$emit改变父组件传入的值//父组件<my-input :wranning.sync="wranning" />//组件$emit('update:wranning',val)在父组件传入值时,需要有xxx.sync修饰符; 子组件可以在$emit('update:xxxx',val),派发事件修改传入的值;2,v-model配合inpu...

2020-03-20 16:29:07 1658

原创 element-ui多选下拉框增加全选和清空操作

ElMultipleSelect组件<template> <el-select multiple v-model.sync="modelValue" :placeholder="placeholder" :clearable="clearable" :filterable="filterable" :disabled="d...

2020-03-20 16:20:07 5563

原创 计票统计

输入描述输入候选人的人数,第二行输入候选人的名字,第三行输入投票人的人数,第四行输入投票。输出描述每行输出候选人的名字和得票数量。示例1输入4A B C D8A B C D E F G H输出A : 1B : 1C : 1D : 1Invalid : 4import java.util.*;public class Main { ...

2020-02-28 13:43:53 363

原创 字符串分割

题目描述•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述连续输入字符串(输入2次,每个字符串长度小于100)输出描述输出到长度为8的新字符串数组示例输入abc123456789输出abc000001234567890000000import java....

2020-02-28 11:02:52 89

转载 电话号码的字母组合(九宫格按键输入)

class Solution { Map<String, String> phone = new HashMap<String, String>() {{ put("2", "abc"); put("3", "def"); put("4", "ghi"); put("5", "jkl"); ...

2020-02-27 21:25:30 1971

原创 航班预订统计

题目描述这里有n个航班,它们分别从 1 到 n 进行编号。我们这儿有一份航班预订表,表中第i条预订记录bookings[i] = [i, j, k]意味着我们在从i到j的每个航班上预订了 k 个座位。请你返回一个长度为 n 的数组answer,按航班编号顺序返回每个航班上预订的座位数。示例输入:bookings = [[1,2,10],[2,3,20],...

2020-02-26 20:27:47 400

原创 js表单校验

/** * 校验用户名:字母、数字、下划线 * @param {string} username * @returns {Boolean} */export function validUsername(username) { const reg = /^[0-9a-zA-Z_]{1,}$/ return reg.test(username)}/** * 校验昵称:字母...

2020-02-26 09:23:46 201

原创 js时间格式化

// 对Date的扩展,将 Date 转化为指定格式的String// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08...

2020-02-26 09:20:52 314

原创 查找两个字符串a,b中的最长公共子串

题目描述查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。示例输入abcdefghijklmnopabcsafjklmnopqrstuvw输出jklmnop思路首先,先找出比较短的那个字符串,长串为a,短串为b; 截取b(由短到长),每截取一部分,就判断这部分在a中是否包含; 如果不包含,则break;如果包含,则判断当前截取...

2020-02-25 16:05:29 648

原创 js多级联动,根据最后一级的值返回选中的对象或者数组

返回数组(用于下拉回显)/** * 多级联动,根据最后一级的值获取联动数组 * @param list 多级联动数组 * @param value 最后一级的值 * @param value_name * @param children_name * @returns {Array} */export function getArrayByLastValue(list, va...

2020-01-20 11:31:25 743

原创 js生成树

// 生成树:// id,id_column id对应字段,p_id,p_id_column 父节点字段// id=json[id_column],p_id=json[p_id_column],p_id = idfunction getNodes(list, key_column, key_value) { const newList = [] list.forEach(it...

2020-01-20 11:28:20 606

原创 Linux下启动RocketMQ broker报错

操作环境先说明操作系统是CentOS 7,因为不同操作系统下,导致的原因有可能不同[root@localhost ~]# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:language...

2019-11-03 17:28:37 4762 1

原创 linux下配置maven中央仓库为阿里云中央仓库

1. 先查看maven的setting.xml文件所在目录sudo find / -name *settings.xml我本地查到的结果:/usr/app/apache-maven-3.6.0/conf/settings.xml2.进入settings.xml所在目录cd /usr/app/apache-maven-3.6.0/conf/3.编辑文件vim setti...

2019-11-03 16:01:07 1375

原创 Linux下配置JAVA_HOME

环境说明系统为CentOS 7[root@localhost ~]# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-...

2019-11-03 15:53:38 25726 1

原创 Mybatis 查询结果是Map,Map中有List

结果集: <resultMap id="groupMap" type="HashMap"> <result column="code" jdbcType="VARCHAR" property="code"/> <collection property="roles" column="code" select="listChild"/>...

2019-09-04 17:36:01 1118 1

原创 java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder报错

背景spring cloud项目启动Eureka server时报错java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.&lt;init&gt;([Ljava/lang/Object;)V at org.springframework.cloud.bootstrap...

2019-03-04 22:56:15 3314

原创 Linux下Jenkins忘记管理员密码解决措施

(1)先进入根目录cd ~(2)查找.jenkins目录的位置find -type d -name '.jenkins'(3)查找到目录后,进入目录,打开config.xml文件,删除掉下面内容&lt;useSecurity&gt;true&lt;/useSecurity&gt;&lt;authorizationStrategyclass="hudson.secu...

2019-03-01 10:17:34 2288

空空如也

空空如也

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

TA关注的人

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