自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 完Connection timed out: connect. If you are behind an HTTP proxy

进入“C:[你的电脑名].gradle”删除gradle.properties后面四行有关代理的代码重启A.S.即可

2020-08-18 17:48:56 172

原创 数据库版本控制利器:Flyway

Flyway简介数据库的版本控制。 在所有环境中进行稳健的架构演变。 轻松,愉快和简单的SQL。官网:https://flywaydb.org/Spring Boot整合Flyway1、添加依赖 <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <v

2020-06-20 17:32:34 359

原创 单词搜索

题目描述:给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。题目地址:https://leetcode-cn.com/problems/word-search/思路:循环比较board的每一个元素是否与word的第一个元素相等,相等则进入递归函数find,在find函数中比较当前元素上下左右的值与word的下一个值是否相等,相等则进入递归。代码展示:/

2020-06-18 08:07:46 154

原创 颜色分类

题目描述:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。题目地址:https://leetcode-cn.com/problems/sort-colors/思路:这里只有三种数,可以设置两个指针定好边界,一个指针指向0元素的右边界,一个指针指向2元素的左边界,设置一个指针从0开始向右走,直到超过第二个指针一个位置,如果当前元素为0,那么将其与第一个指针

2020-06-17 10:17:41 580

原创 第k个排列

题目描述:给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。题目地址:https://leetcode-cn.com/problems/permutation-sequence/思路:当考虑第一个数放的数字时,可以知道的是剩下n-1位有(n-1)!个组合,所以k每满足一轮(n-1)!个组合当前数字可以

2020-06-09 22:39:02 107

原创 合并区间

题目描述:给出一个区间的集合,请合并所有重叠的区间。题目地址:https://leetcode-cn.com/problems/merge-intervals/思路:设置flags判断当前元素是否被合并过,为true则是被合并过,然后分情况判断两个区间是否是交集或子集的情况,是的则利用辅助函数进行合并,最后再遍历一次数组,当前flags[i]为true则不加入,否则加入。代码展示:/** * @ClassName Solution * @Description * @Author Admin

2020-06-08 16:26:33 116

原创 跳跃游戏

题目描述:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。题目地址:https://leetcode-cn.com/problems/jump-game/思路:1、如果数组里的数字都不为0那么肯定能到达最后一个位置,那么重点看为0的元素的之前元素能否跳过这个0元素,此时分为两种情况,一个是当前0元素在最后一个位置,那么可以直接返回true,一个是当前0元素在其它位置,那么往前循环,而且每循环一次需要多增加一步,满足

2020-06-08 12:18:06 155

原创 幂函数

题目描述:实现 pow(x, n) ,即计算 x 的 n 次幂函数。题目地址:https://leetcode-cn.com/problems/powx-n/思路:因为n是整数,所以要么是奇数要么是偶数,递归算出x的n/2次,如果n是偶数则直接平方即可,如果n是奇数则平方后再乘以x,当n为负数时取倒数即可。代码展示:/** * @ClassName Solution * @Description * @Author Administrator * @Date 2020/6/7 17:23

2020-06-07 17:52:22 241

原创 字母异位词分组

题目描述:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。题目地址:https://leetcode-cn.com/problems/group-anagrams/思路:1、设置flags数组判断当前元素是否已经使用过,遍历strs,当前元素(pos)未使用过则加入一个新列表,然后往前遍历,若指向的元素未使用过且在排序后与pos字符一样,则继续加入新列表。2、设置一个键为排序后的字符串,值为对应的原字符串的组成的列表。每次将当前元素排序后赋值给中间变量strin

2020-06-07 11:20:42 173

原创 旋转图像

题目描述:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。题目地址:https://leetcode-cn.com/problems/rotate-image/思路:1、根据转换后的特征,发现结果矩阵的从左到右、从上到下读取的元素对应原矩阵的按列读取,每次从行位置最大到行位置最小,所以按这个顺序将原矩阵入队列,再让队列先入先出即可得出结果矩阵。2、转置矩阵,再对每一行进行

2020-06-06 19:12:52 138

原创 全排列 II

题目描述:给定一个可包含重复数字的序列,返回所有不重复的全排列。题目地址:https://leetcode-cn.com/problems/permutations-ii/思路:1、设置first参数为当前位置,其左边是已加入队列的元素,右边是待加入的元素,当队列总元素等于数组的总元素时需要判断当前结果集是否有与队列元素排列一样的列表,有则不加入,无则加入。2、优化思路1中的判断,将数组排序,那么此时可能出现重复的列表发生在当前元素等于前一个元素的值,并且前一个元素已经进行过排列,此时需要跳过当前元

2020-06-06 14:44:20 152

原创 全排列

题目描述:给定一个 没有重复 数字的序列,返回其所有可能的全排列。题目地址:https://leetcode-cn.com/problems/permutations/思路:1、设置一个flags数组用来判定当前元素是否已经加入列表。使用辅助函数对每一位元素进行判断是否添加,添加后继续递归,在返回到当前位置需要将对应的flags复位。2、可以将flags数组的思想转换为当前元素左边都是已经加入列表的,右边是待加入的,所以设置first参数进行分隔。代码展示1、/** * @ClassName

2020-06-06 14:04:57 85

原创 组合总和 II

题目描述:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。题目地址:https://leetcode-cn.com/problems/combination-sum-ii/思路:1、先将candidates从小到大排序,方便剪枝,再用辅助函数进行计算,如果剩余值减去当前值不小于0则加入队列,再进行递归,否则直接剪枝。递归的终止条件设置为剩余值为0,并在当

2020-06-06 12:01:09 96

原创 组合总和

题目描述:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。题目地址:https://leetcode-cn.com/problems/combination-sum/思路:先将candidates从小到大排序,这样方便剪枝,然后利用辅助函数进行计算,pos参数的作用是保持能从当前位置往前,这样就不会有重复的结果,设置一个队列,如果剩余值减去当前数字不

2020-06-06 11:13:00 95

原创 搜索旋转排序数组

题目描述:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。题目地址:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/思路:这个旋转排序数组有个特殊的点是在

2020-06-05 11:05:36 114

原创 两数相除

题目描述:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。题目地址:https://leetcode-cn.com/problems/divide-two-integers/思路: Java整数的范围是:-2147483648 至2147483647(Integer.MIN_VALUE 至 Integer.MAX_VALUE),这里值得注意的一点是-2147483648

2020-06-04 18:13:19 200

原创 两两交换链表中的节点

题目描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。题目地址:https://leetcode-cn.com/problems/swap-nodes-in-pairs/思路:1、递归思想,每交换相邻两个节点就进入下一次递归,边界条件是当前的第一个节点为null或第二个节点为null(此时只有一个节点不需要交换)。2、使用一个辅助节点连接首节点,另一个辅助节点连接当前比较的第一个节点的前一个节点。代码展示:1、/**

2020-06-04 10:50:43 92

原创 括号生成

题目描述:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。题目地址:https://leetcode-cn.com/problems/generate-parentheses/思路:1、n对括号,即2n个字符,要有效则首字符必须为’(’,设置一个全局变量list用来存储结果,用map来提取选择的字符,使用辅助函数递归添加字符,当字符串长度满足2n则判断它是否是合法的括号组合,若合法则添加到list。2、对1进行优化,这里关键是当前添加左括号还是添加右括号

2020-06-04 10:23:02 165

原创 删除链表的倒数第N个节点

题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。题目地址:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/思路:1、因为要删除倒数第n个节点,则此时需要一个指针指向这个节点的前一个节点(即倒数第n+1个节点),再让它的next等于它的next的next,然后返回头结点即可。这里可以用双指针法,让p、q指向头结点,然后让q先走n+1步,这样当q为null时p指向倒数第n+1个节点。不过这样会有

2020-06-03 21:00:42 201 1

原创 电话号码的字母组合

题目描述:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。题目地址:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/思路:这里字符串长度不定,直接用循环进行暴力穷举不好用,考虑用DFS,每次考虑到当前字符串的第一个数字字符,就循环若干次,再把首字符去掉并添加新的字符进行递归,最后返回结果,这里用Map将数字与对应的字母组

2020-06-03 19:08:39 150

原创 三数之和

题目描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。题目地址:https://leetcode-cn.com/problems/3sum/思路:三个数为0,如果按升序排列的话,此时三个数要么都为0,要么第一个数必须小于0且第三个数必须大于0,所以可以先把数组进行排序,再设置三个指针,i遍历数组,在每个回合中让first和last不断往内靠拢。优化点1:nums[i]是第一个数,当

2020-06-03 12:16:31 103

原创 盛最多水的容器

题目描述:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。题目地址:https://leetcode-cn.com/problems/container-with-most-water/思路:1、使用穷举法,依次从左到右选取基点柱子,再与右边剩余的柱子进行计算,取最大值。2、双指针法,i、j分别指向数组的

2020-06-03 10:18:43 90

原创 使用Vue图形化界面快速搭建项目

使用Vue图形化界面快速搭建项目1、vue3.0以上才能使用图形化界面,需要确保你的版本比较新。2、cmd进入命令窗口,输入 vue ui 即可进入图形化界面。3、在项目仪表盘选择Vue项目管理器4、依次点击创建–》在此创建项目5、依次设置项目名、项目地址,点击下一步6、这里我选择“手动”,你可以配置自己的预设,点击下一步7、选择自己需要预先配置的功能,点击下一步8、最后一项配置,根据自己的需求选择,再点击创建项目,可以保存当前预设或者不保存,等待片刻项目就已在本地创建好了

2020-06-02 17:33:47 1143

原创 最长回文子串

题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。题目地址:https://leetcode-cn.com/problems/longest-palindromic-substring/思路:1、中心扩散法:考虑到回文字符串可能是奇数位或偶数位,则它们的中心从(i,i)或(i,i+1)开始,然后再利用辅助函数maxString向中心两边扩散,再比较两者与result的长度,取最大者的字符串为当前最大回文子串。2、利用已判断为回文子串的信息进行扩展,fl

2020-06-02 12:01:04 157

原创 无重复字符的最长子串

题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。题目地址:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/思路:每次遍历元素可以得到两个信息,一个是当前元素值的信息,一个是元素的位置信息,用一个Map来记录这两个信息。每次遍历新元素时,先看Map的key是否包含这个值,不包含则继续加入,包含则不加入并且比较max与Map的大小,取最大赋值给max,将i赋值为重复字符

2020-06-02 10:36:03 109

原创 最大子序和

题目描述:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。题目地址:https://leetcode-cn.com/problems/maximum-subarray/思路:1、最大+连续,想到贪心算法的思想,这里设置max初始值为第一个值(可能数组的长度为1或者最大连续子序列的长度为1),依次遍历数组的每一个元素,即用sum加上当前元素,如果sum比max大就更新max,当sum小于0时,表明当前子序列和为负数,则不需要继续加,直接归为0即可。

2020-06-02 10:08:06 161

原创 删除排序数组中的重复项

题目描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。题目地址:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/思路:1、如果数组为空或者长度为0直接返回0。设置i,j分别指向安排好的部分的尾结点和当前需要判断的节点,r是每次更新数组后的数组新的长度。2、双

2020-06-01 22:55:55 68

原创 合并两个有序链表

题目描述:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。题目地址:https://leetcode-cn.com/problems/merge-two-sorted-lists/思路:1、先判断l1或l2是否为空,某个为空则直接返回另一个链表的头结点。若都不为空,则设置4个辅助变量,一个是head用来处理头结点,p、q分别指向l1、l2的当前结点,r指向当前已排序好的链表的尾结点。最后哪个链表还有剩余则直接让r的next指向它的当前结点即可。2、考虑到两

2020-06-01 22:13:05 149 1

原创 有效的括号

题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:1、左括号必须用相同类型的右括号闭合。2、左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。题目地址:https://leetcode-cn.com/problems/valid-parentheses/思路:题目的关键是遇到右边型括号时需要拿出前一个读取(最近元素)的元素进行判断,这里可以考虑用栈(后进先出),从字符串第一个字符顺序读到最后一个字符,读取当前字

2020-06-01 15:26:26 154

原创 Leetcode 之 两数相加

题目描述:给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。题目地址:https://leetcode-cn.com/problems/add-two-numbers-ii/思路:1、这题关键是考虑两个不同位数的数相加,按我们平常计算是从个位相加,一直加到最高位,所以我第一步想到的是反转链表,然后再逐链表相加,用temp这个变量记录进位。2、反转列表优化的话可以考虑栈,然后我第一种方法关于进位一块可以优化下代码更加清晰,

2020-06-01 14:44:01 88

原创 Leetcode 之 两数之和

题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。题目地址:https://leetcode-cn.com/problems/two-sum/思路:1、我最先想到的是两层for循环,找到和为target的两个数字直接返回它们的pos2、借助Map,每次读取一个数据,我们可以拿到两个信息:值以及它的pos。可以使用Map将它们记录下来,key为值,value为pos。每次新读取一个数先计算target与当前新值的差值,

2020-06-01 11:28:32 99

原创 Mybatis插入记录后返回主键的实践

1、Mybatis文档给出的解决方案@Insert("insert into table2 (name) values(#{name})")@SelectKey(statement="call identity()", keyProperty="nameId", before=false, resultType=int.class)int insertTable2(Name name);statement参数存放要执行的SQL语句keyProperty存放的是定义的实体类的属性before可

2020-05-30 15:25:55 128

原创 SQL总结

SQL SELECT TOP 子句选取一定数目的记录,MySQL: select * from table limit number;SQL LIKE 操作符搜索符合某种规则的记录,比如某列以什么开头、以什么结尾、包含什么select * from table where col like ‘A%’; 搜索col列以A开头的记录select * from table where col like ‘%A’; 搜索col列以A结尾的记录select * from table

2020-05-24 16:44:40 246

原创 Springboot + Log4j2 配置日志框架

1、排除Springboot默认日志框架,引入Log4j2日志框架依赖<!--全局排除spring-boot-starter-logging内的所有依赖--> <dependency> <groupId>org.springframework.boot</groupId> <ar...

2020-04-30 15:33:47 126

原创 谈谈Web 开发中的日志

我在开发Springboot应用时,看到一些视频和博客都说到加入日志功能,当时也是按步骤操作下来,没有细想它的作用和意义,今天想到这,我就找些资料总结下,谈谈Web开发中的日志。1、日志的使用人群日志只需给程序员看?不是的,日志给开发人员、运维人员、用户甚至软件爱好、学习者看。不同人群的需求不一样,下面这个表对这个问题有普适性的解读。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下...

2020-04-30 11:27:34 757

原创 SpringBoot +Redis整合

1、引入依赖<!-- Redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artif...

2020-04-28 22:58:33 94

原创 Vue 拦截器定制

作用:部分页面需要权限才能访问,Vue拦截器能在用户访问这些页面前进行拦截并验证,然后判断用户是否有权限访问该页面。1、定制一个store对token进行存储(扩充store文件夹下的index.js)import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({ sta...

2020-04-22 10:42:39 204

原创 SpringBoot + JWT 定制 API权限

总体思路一、设置token:1、前端向后端传入账号和密码,后端验证成功后制作一个token返回给前端2、前端存储这个token二、使用token:1、访问后端的特定API时,在request头部加入token2、后端对访问特定API的请求进行拦截,验证request头部的token,验证通过则允许使用这个特定的API,否则返回一个提示信息提醒用户需要登录SpringBoot与JWT的...

2020-04-21 23:31:00 234

原创 Vue集成富文本编辑框

1、使用工具:UEditor下载地址:http://ueditor.baidu.com/website/download.html我本次下载的是 [1.4.3.3 Jsp 版本] UTF-8版解压下载的文件2、将解压好的文件夹加入vue的public文件夹下并重命名解压好的文件夹为UEditor3、安装相关依赖npm i vue-ueditor-wrap4、这里展示一个demo,配...

2020-04-19 23:07:47 341

原创 github下载单个文件夹

1、工具准备:SVN2、进去所要下载的文件夹,比如我要下载spring这个项目的doc文件夹,进入后取得该文件夹的链接:https://github.com/spring/spring/tree/master/doc3、选择本地的一个文件夹,进入后右键空白处,点击SVN Checkout4、在第一栏键入地址,并把tree/master改为trunk,点击OK即可下载...

2020-04-16 10:12:34 289

空空如也

空空如也

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

TA关注的人

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