自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前k个高频单词

692. 前K个高频单词给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2输出: [“i”, “love”]解析: “i” 和 “love” 为出现次数最多的两个单词,均为2次。注意,按字母顺序 “i” 在 “love” 之前。示例 2:输入: [“the”, “da

2021-05-20 10:39:56 284 1

原创 剑指offer_替换空格

目录题目描述方法一:StringBuilderjava代码:方法二:字符串数组char[]java代码:方法三:replace()库函数题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。示例:输入:“We Are Happy”返回值:“We%20Are%20Happy”方法一:StringBuilder我们可以将字符串s都重新拼接StringBuilder中,因为后者

2021-05-17 21:25:59 188

原创 剑指offer_二维数组中的查找

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。示例1输入:7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]

2021-05-17 11:22:50 201

原创 二叉树的堂兄弟节点

目录993. 二叉树的堂兄弟节点思路分析DFSBFS993. 二叉树的堂兄弟节点在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true 。否则,返回 false。示例 1:输入:root = [1,2,3,4], x = 4, y =

2021-05-17 09:09:06 1077 8

原创 Mybatis——动态sql之if、where、foreach

<!-- 配置查询所有操作 --> <select id="findArticleByTitleOrAuthorOrSource" resultType="article"> select * from t_article <where> <if test="source != null"> and source = #{source} <

2021-05-16 19:25:43 152 1

原创 Mybatis——动态代理的执行方式及规范

目录mybatis的动态代理的规范1.创建 dao层接口ChannelDao2.创建映射文件ChannelDao.xml3.测试添加删除查询一个对象查询所有对象mybatis的动态代理的规范注意:要使用mybatis动态代理的方式,要保证下列5个规范映射xml文件和接口类在同一目录映射xml文件名和接口名一样映射文件中的namespace的值要和接口类的全包名相同接口的方法名要和映射文件中查询配置的id相同接口的参数名和返回类型要和映射文件中对应的查询配置参数一致1.创建 dao层接口

2021-05-16 17:25:59 329 1

原创 Mybatis——CRUD操作

目录查询查询测试添加添加测试更新更新测试删除删除测试创建SqlMapConfig.xml数据库连接创建配置查询的映射文件Channel.xml查询<select id="findAll" resultType="edu.xalead.Channel"> select * from t_channel</select>查询测试public class MybatisTest { /** * 创建mybatis工厂 */ Sql

2021-05-16 16:48:01 127

原创 MyBatis——在IDEA中配置mybatis框架

Mybaties简介用IDEA搭建Mybatis项目添加依赖创建SqlMapConfig.xml数据库连接创建测试类

2021-05-16 15:01:14 505

原创 字典树(java)

目录什么是字典树字典树的基本性质如下:字典树的应用字典树的实现插入(insert)java代码:查询完整代码:什么是字典树字典树(又叫单词查找树、TrieTree),是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串,如01字典树)。主要思想是利用字符串的公共前缀来节约存储空间。很好地利用了串的公共前缀,节约了存储空间。字典树主要包含两种操作,插入和查找。其实很好理解,小时候我们都用过英语字典,前面有个目录,目录里的内容就是字典树字典树的基本性质如下:根节点没有字

2021-05-16 11:03:20 1030 1

原创 剑指offer 03.数组中重复的数字

目录找出数组中重复的数字。思路分析方法一:Setjava代码:复杂度分析时间复杂度空间复杂度方法二 :原地交换java代码找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3思路分析方法一:Set看到重复两个字我们一定要想起HashSet这个数据结构,它是基于Ha

2021-05-15 19:41:14 108 1

原创 Spring MVC对restful的支持

1.什么是restful?Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格,是对http协议的诠释。资源定位:互联网所有的事物都是资源,要求url中没有动词,只有名词。没有参数Url格式:http://blog.csdn.net/beat_the_world/article/details/45621673资源操作:使用post、delete、put、get,使用不同方法对资源进行操作。分别对应添加、删除、修改、查询。一般使用时还是post和get。Put和Delet

2021-05-15 17:26:10 164

原创 Spring MVC中自定义类型转换器(Date)

目录前言Spring MVC中自定义类型转换器前言java中自带的类型转换器只有八种,也就是把中基本类型对应的对象类IntegerStringCharacterLongShortDoubleFloatByte其余的比如Date就没有自动转换器,需要我们自己来写Spring MVC中自定义类型转换器我们首先自己创建一个包converter用来放自定义转换器DateConverter类继承Converter类,注意这里的Converter一定要选正确Converter<

2021-05-15 16:51:07 223

原创 Spring_MVC集合类型的参数赋值

目录数组链表对象类数组@PostMapping("array") public String array (String[] arr) { System.out.println(Arrays.asList(arr)); return "/success.jsp"; }链表@PostMapping("list") public String list(@RequestParam(value = "stringlist")List<Str

2021-05-15 14:45:23 233

原创 Spring MVC字符编码过滤器

<servlet> <servlet-name>CharacterEncodingFilter</servlet-name> <servlet-class>org.springframework.web.filter.CharacterEncodingFilter</servlet-class> <init-param> <param-name>enco

2021-05-15 10:51:35 237 1

原创 罗马数字转整数

13. 罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V

2021-05-15 09:49:30 202

转载 Spring事务传播性

所谓的事务传播性是指:当多个含有事务方法嵌套调用时,这些方法处理事务的规则比如:当事务方法A调用事务方法B时,内层事务方法B会合并到外层调用者A方法的事务中,还是会新开起自己的事务。另外如果合并到外层事务,那么内层事务回滚后,外层方法会不会回滚,这些就是由spring事务传播性规则控制的。Spring事务传播性处理这种嵌套事务的行为一共定义了7种处理方式:PROPAGATION_REQUIREDPROPAGATION_REQUIRED_NEWPROPAGATION_SUPPORTPRO.

2021-05-14 11:17:53 796 1

原创 Spring 中的JdbcTemplate

1.JdbcTemplateJdbc是Spring框架中提供的一个对象,是对原始JDBC API的简单封装。 Spring框架为我们提供了很多的操作模板类。操作关系型数据的:JdbcTemplateHibernateTemplate操作nosql数据库的:RedisTemplate操作消息队列的:JmsTemplate我们今天的主角在spring-jdbc-5.2.5.RELEASE.jar中,我们在导包的时候,除了要导入这个jar包外,还需要导入spring-t

2021-05-14 10:54:37 206 2

原创 整数转罗马数字(详解+图解)

目录12. 整数转罗马数字贪心算法思路分析java代码:复杂度分析时间复杂度空间复杂度暴力匹配法思路分析java代码复杂度分析时间复杂度空间复杂度12. 整数转罗马数字罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000

2021-05-14 08:54:18 1301 7

原创 AOP中的一些术语

1.aop 中的一些术语Joinpoint( 连接点):所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是方法,因为 spring 只支持方法类型的连接点。Pointcut( 切入点):所谓切入点是指我们要对哪些 Joinpoint 进行拦截的定义。Advice( 通知/ 增强):所谓通知是指拦截到 Joinpoint 之后所要做的事情就是通知。通知的类型:前置通知,后置通知,异常通知,最终通知,环绕通知。Introduction( 引介):引介是一种特殊的通知在不

2021-05-13 19:42:27 1669 2

原创 Spring中AOP技术基础——静态代理、动态代理(JDK动态代理)、CGLIB代理

代理模式我们首先来了解一下什么是代理模式:为其他对象提供一个代理以控制对某个对象的访问。代理类主要负责为委托了(真实对象)预处理消息、过滤消息、传递消息给委托类,代理类不现实具体服务,而是利用委托类来完成服务,并将执行结果封装处理。其实就是代理类为被代理类预处理消息、过滤消息并在此之后将消息转发给被代理类,之后还能进行消息的后置处理。代理类和被代理类通常会存在关联关系(即上面提到的持有的被带离对象的引用),代理类本身不实现服务,而是通过调用被代理类中的方法来提供服务。简单说就是用多个接口多个类来

2021-05-13 16:52:43 146 1

原创 Spring中用配置类代替配置xml文件

目录1.Configuration注解2.ComponentScan注解3.注解配置工厂的获取4.Bean注解5.Import注解6.Spring属性配置文件及PropertySource注解7.Spring和junit的集成1.Configuration注解这个注解的意义就是:只要包含这个configuration注解的类就是配置类2.ComponentScan注解@ComponetScan代替xml配置中的<context:component-scan base-package="

2021-05-09 21:25:01 608 2

原创 Spring连接Druid(阿里数据源)

目录配置pom文件配置依赖beanFactory.xml测试是否连接配置pom文件<!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId>

2021-05-09 17:09:44 233

原创 Spring注释配置Bean

目录一、通过注释配合Bean1.Component注释2.和@Compent功能一样的注解@Controller 主要用到web层@Service 服务service层@Repository 数据访问层 dao层3.Value注解4.Scope注释指定单例或多例5. @Autowired、@Qualifier("ser")、@Resource6.生命周期相关注解一、通过注释配合Bean通过配置context的publicId,Uri即定义的名字空间的前缀contextpubilicIdhttp:

2021-05-09 16:47:38 112

原创 制作m束花所需的最少天数

目录1482. 制作 m 束花所需的最少天数思路分析java代码(详细注释)1482. 制作 m 束花所需的最少天数给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。示例 1:输入:bloomDay = [1,10,3,10,

2021-05-09 09:59:23 150

原创 Spring Bean 的基本配置

目录1.Spring中set方法的注入1.1set的两种注入方法1.2type属性1.3Date()类型的注入2.Spring_scop3.自动注入(autowire)4.构造注入Array注入(数组注入)1.Spring中set方法的注入User实体@Data//lombok提供的有参构造@AllArgsConstructor////lombok提供的无参构造@NoArgsConstructorpublic class User { private int id; priv

2021-05-06 19:48:28 341 10

原创 Spring创建对象的生命周期

单例模式生命周期容器创建时对象创建容器在,对象一直在容器销毁,对象销毁总结单例对象和容器生命周期一样多例模式生命周期使用时创建长时间不使用,也没有其他类对象对其引用,则容器将其销毁...

2021-05-06 19:17:24 137 1

原创 打家劫舍(动态规划)

198. 打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:

2021-05-06 09:29:44 162

原创 解码异或后的数组

目录1720. 解码异或后的数组思路分析什么是异或案例分析java代码1720. 解码异或后的数组未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr[0])。请解码返回原数组 arr

2021-05-06 08:26:43 166 1

原创 org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type错误的解决办法

很多学者在使用Spring工厂的时候会报出这个错误,这个其实很简单,不是唯一Bean的错误,就是你的Bean创建的不是唯一的,系统无法确定是哪一个Bean,犯这种错的大多数都是通过类来获取Bean的 UserDao userDao = beanFactory.getBean(UserDao.class);如果你在xml配置文件下这样写就会报错<bean id="userDao" class="edu.xalead.UserDao"></bean><bean id=".

2021-05-03 11:05:38 973

原创 IoC(控制反转)和DI(依赖注入)

添加工厂建立所需要的依赖我们使用maven的时候,能使用依赖就使用依赖,可以方便我们很多,比如lombok,junit等依赖<properties> <spring-version>5.2.5.RELEASE</spring-version> </properties> <dependencies> <!-- https://mvnrepository.com/artifact/org.spri

2021-05-03 11:00:20 95

原创 砖墙(HashMap)

554. 砖墙你的面前有一堵矩形的、由 n 行砖块组成的砖墙。这些砖块高度相同(也就是一个单位高)但是宽度不同。每一行砖块的宽度之和应该相等。你现在要画一条 自顶向下 的、穿过 最少 砖块的垂线。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。给你一个二维数组 wall ,该数组包含这堵墙的相关信息。其中,wall[i] 是一个代表从左至右每块砖的宽度的数组。你需要找出怎样画才能使这条线 穿过的砖块数量最少 ,并且返回 穿过的砖块数量

2021-05-02 11:11:49 112

原创 员工的重要性(DFS和BFS)

690. 员工的重要性给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 2的 数据结构是 [2, 10, [3]] ,员工 3 的数据结构是 [3, 5, []] 。注意虽然员工 3 也是员工 1 的一个下属,但是由于 并不是直系 下属,因此没有体现在员工 1 的数据结构中。现在输入一个

2021-05-01 22:06:25 625

原创 yum命令-配置软件源(包括这种镜像网站)

目录1. 配置软件源镜像网站2.国内yum源3.安装步骤1. 配置软件源如果希望在ubuntu 中安装软件,更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器来提供软件下载/安装服务。提示:更换服务器之后,需要一个相对比较长时间的更新过程,需要耐心等待。更新完成后,再安装软件都会从新设置的服务器下载软件了。所谓镜像源,就是所有服务器的内容是相同的(镜像),但是根据所在位置不同,国内服务器通常速度会更快一些!镜像网站清华大学开源镜像网站(帮助页面)https://mirro

2021-04-27 19:51:03 1370

原创 动态规划算法:没有冗杂的概念,超简单,超容易理解

目录前言什么是动态规划?动态规划的解题步骤斐波那契数列思路分析java代码:leetCode377. 组合总和 Ⅳ思路分析(一定要仔细看)java代码:前言在这里我只想说一句,希望读者可以仔细看,看完博主可以保证,你一定会做题。什么是动态规划?动态规划(Dynamic Programing),简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。或许有人连重叠子问题是什么都不知道,就是重复的计算,我们举个很简单例子说明一下:我们都知道斐波那契数列用递归算法得到的,我们画出图示这样的

2021-04-24 18:38:45 140 1

原创 组合总和 Ⅳ(超详细讲解)

leetCode377. 组合总和 Ⅳ给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。

2021-04-24 18:38:23 447

原创 vue入门教程(6)——webpack

8.webpackWebpack 是一个前端资源的打包工具,它可以将js、image、css等资源当成一个模块进行打包。中文官方网站:https://www.webpackjs.com/官方给出的解释:本质上,webpack是一个现代化JavaScript应用程序的静态模块打包器(module bundler)。当webpack处理应用程序时,它会递归的构建一个依赖关系图(dependency graph),其中包含应用程序的每个模块,然后将这些模块打包成一个或多个bundle。为什么要打包

2021-04-23 19:50:07 245

原创 在IDEA中安装webpack

webpack支持全局安装和本地安装,官方推荐是本地安装,我们按照官方的来。安装最新版本webpack,输入命令:npm install --save-dev webpackwebpack 4+ 版本,你还需要安装 CLI ,输入命令:npm install webpack webpack-cli --save-dev此时我们打开package.json文件当然我们也可以在IDEA中的Terminal中安装打开package.js文件也是一样的...

2021-04-23 10:34:51 1812

原创 vue入门教程(5)——vue中vue-router的使用

目录前言7.路由vue-router7.1编写父类组件7.2.编写登陆及注册组件7.3.在父组件中引用7.4.使用vue-router1.引入vue-router依赖2.创建VurRouter对象并加入子组件3.在Vue对象中加载VueRouter前言在学习vue-router之前,我们要学会怎么样在IDEA中安装vue-router,若有不懂的同学请跳转博客在IDEA中安装vue-router。7.路由vue-router在我们安装好vue-router之后,我们要导入依赖<script

2021-04-23 10:15:14 431

原创 在IDEA中安装vue-router

在IDEA中安装vue-router,我们同样要使用到npm,若没有安装npm请跳转博客Node的安装和npm的使用。我们只需要在IDEA的Terminal中输入一个命令即可npm install vue-router --save然后我们将package.json打开出现了vue-router的版本号,这说明安转成功。...

2021-04-23 08:39:00 2126

原创 vue入门教程(4)——组件化

目录7.组件化7.1 定义全局组件7.2.组件的复用7.3.局部组件7.4.vue组件简单属性传值7.组件化在大型应用开发时,页面可以划分很多部分,往往不同的页面也会有相同的部分。例如可能会有相同的头部导航。但是如果每个页面都独自开发,这无疑增加了我们的开发成本,所以我们会把页面不同的部分拆分成独立的组件,然后在不同的页面就会共享这些组件,避免重复开发。7.1 定义全局组件我们通过Vue的componet方法来定义一个全局组件语法://全局组件Vue.componet("",{})""为此

2021-04-22 17:21:40 317

空空如也

空空如也

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

TA关注的人

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