自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

上千主上-贝库塔

一头会咬人的狮子并不可怕,可怕的是这头狮子懂得隐忍

原创 动态规划(一)

一.初入动态规划 1.什么是动态规划? A:求有多少种方式走到右下角 B:输出所有走到右下角的路径,哪个可以用动态规划? 题A是计数问题,属于动态规划题型的一种,而题B则是DFS 2.动态规划特点 A.计数 有多少种方式走到右下角 有多少种方法选出k个数使得和是sum B.最大最小值 ...

2020-05-15 15:16:39 27 0

原创 Leetcode刷题之路(151-160)

153.寻找旋转排序数组中的最小值 寻找旋转排序数组中的最小值题目链接 方法一:直接for遍历,时间复杂度为O(n) public int findMin(int[] nums) { int min = nums[0]; for(int i=1;i&...

2020-01-01 23:06:40 27 0

原创 Leetcode刷题之路(141-150)

144.二叉树的前序遍历 二叉树的前序遍历题目链接 方法一:递归法 List<Integer> results = new ArrayList<>(); public List<Integer> preorderTraversal(TreeNode ...

2019-12-30 23:52:46 31 0

原创 Leetcode刷题之路(131-140)

136.只出现一次的数字 只出现一次的数字题目链接 方法一:排个序,然后再处理 public int singleNumber(int[] nums) { int result = -1; Arrays.sort(nums); for(int ...

2019-12-30 23:12:35 24 0

原创 Leetcode刷题之路(121-130)

待更新

2019-12-30 22:41:15 16 0

原创 Leetcode刷题之路(111-120)

112.路径总和 路径总和题目链接 同样bfs思想 public boolean hasPathSum(TreeNode root, int sum) { boolean flag = false; if(root==null){//注意为空的判断 ...

2019-12-18 20:05:24 30 0

原创 Leetcode刷题之路(101-110)

104.二叉树的最大深度 二叉树的最大深度题目链接 用递归左右两边取最大,不为空的就加1,为空返回0 public int maxDepth(TreeNode root) { if(root==null){ return 0; } ...

2019-12-17 16:50:15 15 0

原创 Leetcode刷题之路(91-100)

94.二叉树的中序遍历 二叉树的中序遍历题目链接 中序遍历:左子树->头节点->右子树 方法一:递归法,很简单直接按中序遍历顺序写 List<Integer> results = new ArrayList<>(); public List<I...

2019-12-15 00:43:17 12 0

原创 Leetcode刷题之路(81-90)

88.合并两个有序数组 合并两个有序数组题目链接 方法挺多了 方法一,最最常见的方法,效率最不高的方法,遍历两个数组,遇到数组2小于数组1的,就把数组1往后移动,这个位置上插入数组2的这个值 public void merge(int[] nums1, int m, int[] nums2, ...

2019-12-13 16:03:46 8 0

原创 Leetcode刷题之路(71-80)

77.组合 组合题目链接 dfs回溯,主要关键点在于添加条件上,像结果集中1,2,3有了,是不能再添加2,3,1和1,3,2 78.子集

2019-12-12 15:40:47 16 0

原创 Leetcode刷题之路(61-70)

62.不同路径 不同路径题目链接 一道很简单的动态规划题,找出动态方程和边界是关键!如果不知道动态规划,推荐看看这个视频! B站巨佬讲解动态规划入门视频 public int uniquePaths(int m, int n) { int [][]dp = new int[m]...

2019-12-11 00:55:00 13 0

原创 Leetcode刷题之路(51-60)

51.N皇后 N皇后题目链接 N皇后就是同一行,同一列,同一对角线只能存在一个皇后,而输入是n*n格子,答案让你输出对应的方案 52.N皇后II N皇后题目链接 N皇后就是同一行,同一列,同一对角线只能存在一个皇后,而输入是n*n格子,答案让你输出有几种方案 private int res...

2019-12-09 20:22:41 15 0

原创 Leetcode刷题之路(41-50)

46.全排列 全排列题目链接 典型的dfs模板题 List<List<Integer>> results; boolean [] flags ; public List<List<Integer>> permute(int[] n...

2019-12-08 20:46:39 13 0

原创 Leetcode刷题之路(31-40)

38.报数 报数题目链接 就一个简单的双重for循环,比较简单的一道题 private StringBuilder [] stringBuilder; public String countAndSay(int n) { init(n); return...

2019-12-06 15:03:29 19 0

原创 Leetcode刷题之路(21-30)

26.删除排序数组中的重复项 删除排序数组中的重复项题目链接 首先这道题要求你不能用多余空间,只让你用这个数组nums来实现,那么第一反应就是遇到重复的就去移动,但是仔细想想这种思路挺复杂的,效率也不高。 我们可以反向思考一下,从数组头开始遍历,用一个指针记录当前第一个数,遇到不等于当前指针数的...

2019-12-05 17:20:25 14 0

原创 Leetcode刷题之路(11-20)

17.电话号码的字母组合 电话号码的字母组合题目链接 有点像全排列,可以用dfs,用Map<String,String>去存储对应关系 private Map<String,String> map; private List<String> ...

2019-12-04 20:25:03 21 0

原创 Leetcode刷题之路(1-10)

1.两数之和 题目链接 方法一:这道题我们最容易想到的思路就是用暴力,双重for循环解决,但是这种效率比较低下 public int[] twoSum(int[] nums, int target) { int [] results = new int[2]; ...

2019-12-03 16:49:25 25 0

原创 Java面试题总结(六)-算法和数据结构篇

待更新

2019-10-27 19:17:06 73 0

原创 Java面试题总结(五)-Spring篇、Spring MVC篇、mybatis篇

待更新

2019-10-15 19:14:36 34 0

原创 Java面试题总结(四)-mysql篇、redis篇

待更新

2019-10-15 19:13:22 51 0

原创 Java面试题总结(三)-集合篇、反射篇、GC篇、JDK新特性篇

待更新

2019-10-15 19:12:09 60 0

原创 Java面试题总结(二)-语法篇、异常篇、多线程篇

一.语法篇 1.简述下面向对象几大特征 面向对象三大特性-封装、继承、多态 封装:在面向对象的编程语言中,对象是封装最基本单位,封装就是把描述一个对象的属性和行为封装在一个类中,属性用变量定义,行为用方法定义 继承:提供代码重用和扩展,实现一个类可以在一个已经存在的类的基础之上进行,可以重用这个...

2019-10-15 18:25:09 71 0

原创 Java面试题总结(一)-设计模式、网络基础

一.设计模式 1.单例模式 A.懒汉式 单例模式最简单的实现发现,但是不支持多线程,线程不安全 如果想线程安全,在方法上加上synchronized就可以,不过这样效率低下,99%情况都不会用到 public class Singleton { private static Singl...

2019-10-14 19:02:46 34 0

原创 Vue 项目结构(五)

一.环境配置 安装node.js和git 命令行执行node -v出现版本号就说明node安装成功 命令行执行npm -v查看npm是否安装成功,npm是安装工具 命令行git --version查看git是否安装成功 去github或者码云线上创建一个项目,弄好了公钥上传下载就不需要密码了 g...

2019-10-14 16:54:01 24 0

原创 Vue 中的动画特效(四)

一.vue中的css动画原理 1.transition标签 我们要一个例子来说明吧 先写一段由变量show控制div显示的代码 <div id="app"> <div v-if="show&q...

2019-10-14 00:42:53 43 0

原创 Vue 深入理解组件(三)

一.组件使用的细节点 1.浏览器解析问题 <div id="root"> <table> <tbody> <row><...

2019-10-08 22:30:21 39 0

原创 Vue 基础(二)

一.Vue实例 vue项目就是很多个小组件组成的,也可以说是很多vue实例组成的 每个组件就是一个vue实例,实例有很多属性和方法 <body> <div id="app"> {{content}} ...

2019-09-26 20:55:26 23 0

原创 Vue起步(一)

一.vue介绍 当下最火的三大前端框架当属vue、react以及angular了 为什么要学vue,因为vue有很多优势 vue比react、angular更容易上手,vue写起来更加流畅、方便,vue的优化做的要比react好一些,vue的文档更加好 vue是一套用于构建用户界面的渐进式框架 ...

2019-09-25 22:13:18 49 0

原创 SpringData入门(四)-Spring data JPA高级

今天要讲的这几个接口都是Repository接口的子接口 一.CrudRepository接口使用详解 save(entity):保存一个实体 save(entities):保存多个实体 findOne(id):找到一个对象 exists(id):根据ID判断对象是否存在 ...

2019-05-28 20:45:47 98 0

原创 SpringData入门(三)-Spring Data JPA进阶

一.关于Respository接口 Repository接口是Spring Data的核心接口,不提供任何方法 Repository接口是一个空接口(标记接口)-没有包含任何方法声明的接口 如果我们定义的接口extends Repository,自动会被Spring管理 比...

2019-05-27 16:59:44 162 0

原创 SpringData入门(二)-springdata快速入门

一.开发环境搭建 先加入依赖 <!-- spring data jpa --> <dependency> <groupId>org.springframework.data</groupId> ...

2019-05-26 01:46:43 445 0

原创 SpringData入门(一)-使用传统方式访问数据库

一.导学 什么是SpringData? 主旨:提供一个熟悉的、一致的,基于Spring框架的数据访问框架。 简化数据库的访问 官网 https://spring.io/projects/spring-data Spring Data包含多个子项目 Spring Data JPA:减少我们...

2019-05-25 15:40:56 45 0

原创 Spring Security入门(二十)-实现图形验证码功能

一.导学 开发生成图形验证码接口 根据随机数生成图片 将随机数存到session中 将生成的图片写入响应中 由于不论app还是浏览器 都要用到 所以写到core项目里面去 二.实现图形验证码 图片验证码类一般包含三个属性:图片 随机数 过期时间 一般过期时间不是直接设置的 而是设置的多...

2019-05-22 00:16:55 182 0

原创 Spring Security入门(十八)-个性化用户认证流程(二)

一.导学 自定义登录成功处理器 自定义登录失败处理器 默认情况下,spring security 跳到你引发登录的请求上 访问/user 要登录 登录成功就跳到/user 在SPA下,登录可能不是表单提交的同步方式来访问的,而是异步AJAX请求来访问登录,这个时候前端希望拿到用户相关的一些信息(...

2019-05-17 00:37:43 114 0

原创 Spring Security入门(十七)-个性化用户认证流程(一)

一.导学 自定义登录页面 自定义登录成功处理器 自定义登录失败处理器 二.自定义登录页面 loginPage方法:指定登录页面的url @Override protected void configure(HttpSecurity http) throws Exception { ...

2019-05-15 22:10:43 63 0

原创 Spring Security入门(十六)-自定义用户认证逻辑

一.导学 自定义用户认证逻辑 处理用户信息获取逻辑 处理用户校验逻辑 处理密码加密解密 二.处理用户信息获取逻辑 用户信息获取逻辑在Spring security中是封装在接口 UserDetailsService里面的 这个接口中只有一个方法 根据用户前面输入的用户名到你的存储(不管是数据...

2019-05-14 23:52:42 121 0

原创 Spring Security入门(十二) 使用Spring MVC开发RESTful API-异步处理rest服务

一.导学 使用Callable异步处理Rest服务 使用DeferredResult异步处理REST服务 异步处理配置 异步处理就是主线程使用委托副线程去处理业务,然后主线程去接纳其他的请求。提高性能 二.使用Callable异步处理Rest服务 我们先来看看模拟同步处理 @RestCo...

2019-05-11 22:38:31 118 0

原创 Spring Security入门(十五)-Spring Security基本原理

一.Spring Security简介 使用Spring Security开发基于表单的认证 前面我们介绍的如何开发RESTful服务 但是这些服务是处于无保护状态 任何人知道地址都可以直接访问 企业级开发中肯定不准许存在的 需要对用户进行认证和授权保证合法用户访问 Spring Secu...

2019-05-08 00:47:55 148 0

原创 Spring Security入门(十四)-使用WireMock快速伪造RESTful服务

一.导学 在后端没有开发好的时候,使用wireMock快速伪造服务 为什么要伪造服务? 主要是用于多端并行开发,前段可能有pc、app,微信多端点,遇到这种情况,先伪造服务的确是能节省很多成本; 当然如果很耗费时间的话,肯定就得不偿失了; 到时候等后端写好之后,前段切换连接就行了...

2019-05-08 00:34:37 108 0

原创 Spring Security入门(十三) 使用Swagger自动生成文档

一.导学 与前端开发并行工作 使用swagger自动生成html文档 使用WireMock快速伪造RESTful服务 二.Swagger介绍 Swagger就是根据你写的代码自动生成文档 不用你自己去维护文档 去这里https://mvnrepository.com/ 获取...

2019-05-08 00:23:45 86 0

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