自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Melo

记录作为程序员的每次进步

  • 博客(255)
  • 资源 (4)
  • 收藏
  • 关注

原创 SpringBoot自定义注解实现MVC层拦截验证

HandlerInterceptor 拦截器有三个方法:preHandle、postHandle、afterCompletion。package org.springframework.web.servlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;p

2021-04-23 19:19:43 330

原创 @RestControllerAdvice全局异常捕捉

自定义异常EbExceptionpublic class EbException extends RuntimeException{ private final String UNKOWN_ERROR = "unknown.error"; private String msg; private String errorDetail; private Integer errorCode = 10000; public EbException(String

2021-04-23 18:02:46 358

原创 MyBatis-Plus 入门——第三章 MyBatis-Plus查询方法

imooc课程地址第三章 MyBatis-Plus查询方法3-1 普通查询selectByIdselectBatchIdsselectByMap3-2 条件构造器查询(1)selectList3-3 条件构造器查询(2)直接填写日期可能有sql注入风险返回全部数据3-4 条件构造器查询(3)注意这里wq应该是qw,lambda风格,作者应该想写QueryWrapper的缩写,但是写反了3-5 条件构造器查询(4)3-6 select

2021-04-13 14:29:40 743

原创 MyBatis-Plus入门——第二章 基本使用

imooc课程地址第二章 基本使用2-1 通用传统模式简介及通用Mapper新增方法配置参数使用只需要继承BaseMapper并且添加泛型BaseMapper提供的CRUD接口数据库内容没有设置email,插入时也没有email,自动为空2-2 常用注解设置后插入 “向北”没有设置id,但是插入成功mp会自动填充,使用基于雪花算法的自增ID,并且sql中下划线将对应Entity中的驼峰类型,表名user对应User类使用@TableName(“mp_user”)将

2021-04-13 12:07:37 153

原创 面试排序算法

Leetcode 912.排序数组公共交换函数private void swap(int[] nums, int i, int j) { int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp;}1. 选择排序每轮找出最小的值放在左侧private void selectionSort(int[] nums)...

2020-03-09 13:24:36 219

原创 《剑指Offer》68. 树中两个节点的最低公共祖先

题目链接68.1 二叉查找树题目链接Leetcode解题思路在二叉查找树中,两个节点 p, q 的公共祖先 root 满足 root.val >= p.val && root.val <= q.val。class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeN...

2020-02-09 00:57:16 184

原创 《剑指Offer》67. 把字符串转换成整数

题目链接牛客网题目描述将一个字符串转换成一个整数,字符串不是一个合法的数值则返回 0,要求不能使用字符串转换整数的库函数。Iuput:+21474836471a33Output:21474836470解题思路public class Solution { public int StrToInt(String str) { if (str==null...

2020-02-09 00:46:34 144

原创 《剑指Offer》66. 构建乘积数组

题目链接牛客网题目描述给定一个数组 A[0, 1,…, n-1],请构建一个数组 B[0, 1,…, n-1],其中 B 中的元素 B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。要求不能使用除法。解题思路import java.util.ArrayList;public class Solution { public int[] multiply(i...

2020-02-09 00:20:45 153

原创 《剑指Offer》65. 不用加减乘除做加法

题目链接牛客网题目描述写一个函数,求两个整数之和,要求不得使用 +、-、*、/ 四则运算符号。解题思路a ^ b 表示没有考虑进位的情况下两数的和,(a & b) << 1 就是进位。递归会终止的原因是 (a & b) << 1 最右边会多一个 0,那么继续递归,进位最右边的 0 会慢慢增多,最后进位会变为 0,递归终止。public clas...

2020-02-08 23:19:52 124

原创 《剑指Offer》64. 求 1+2+3+...+n

题目链接牛客网题目描述要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 A ? B : C。解题思路使用递归解法最重要的是指定返回条件,但是本题无法直接使用 if 语句来指定返回条件。条件与 && 具有短路原则,即在第一个条件语句为 false 的情况下不会去执行第二个条件语句。利用这一特性,将递归的返回条件取非然后...

2020-02-08 19:30:43 117

原创 《剑指Offer》63. 股票的最大利润

题目链接Leetcode题目描述可以有一次买入和一次卖出,买入必须在前。求最大收益。解题思路使用贪心策略,假设第 i 轮进行卖出操作,买入操作价格应该在 i 之前并且价格最低。class Solution { public int maxProfit(int[] prices) { if (prices==null || prices.length==0) r...

2020-02-08 19:26:53 127

原创 《剑指Offer》62. 圆圈中最后剩下的数

题目链接牛客网题目描述让小朋友们围成一个大圈。然后,随机指定一个数 m,让编号为 0 的小朋友开始报数。每次喊到 m-1 的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续 0…m-1 报数 … 这样下去 … 直到剩下最后一个小朋友,可以不用表演。返回最后小朋友的编号解题思路约瑟夫环,圆圈长度为 n 的解可以看成长度为 n-1 的...

2020-02-08 19:24:01 114

原创 《剑指Offer》61. 扑克牌顺子

题目链接牛客网题目描述五张牌,其中大小鬼为癞子,牌面为 0。判断这五张牌是否能组成顺子。解题思路import java.util.*;public class Solution { public boolean isContinuous(int [] nums) { if (nums==null || nums.length<5) return fals...

2020-02-08 16:57:07 141

原创 《剑指Offer》60. n 个骰子的点数

题目链接Lintcode题目描述把 n 个骰子扔在地上,求点数和为 s 的概率。解题思路动态规划,dp[i][j]表示第i个骰子得到j点数的总次数public class Solution { /** * @param n an integer * @return a list of Map.Entry<sum, probability> ...

2020-02-08 16:44:44 202

原创 《剑指Offer》59. 滑动窗口的最大值

题目链接牛客网题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组 {2, 3, 4, 2, 6, 2, 5, 1} 及滑动窗口的大小 3,那么一共存在 6 个滑动窗口,他们的最大值分别为 {4, 4, 6, 6, 6, 5}。解题思路PriorityQueue.remove(Object O)可以删除堆中的指定元素,只要维持堆的大小在size就可以...

2020-02-08 14:21:49 135

原创 《剑指Offer》58.2 左旋转字符串

题目链接牛客网题目描述Input:S="abcXYZdef"K=3Output:"XYZdefabc"解题思路先将 “abc” 和 “XYZdef” 分别翻转,得到 “cbafedZYX”,然后再把整个字符串翻转得到 “XYZdefabc”。public class Solution { public String LeftRotateString(String s...

2020-02-08 13:36:44 143

原创 《剑指Offer》58.1 翻转单词顺序列

题目链接牛客网题目描述Input:"I am a student."Output:"student. a am I"解题思路题目应该有一个隐含条件,就是不能用额外的空间。虽然 Java 的题目输入参数为 String 类型,需要先创建一个字符数组使得空间复杂度为 O(N),但是正确的参数类型应该和原书一样,为字符数组,并且只能使用该字符数组的空间。任何使用了额外空间的解法在面试...

2020-02-08 12:50:47 114

原创 《剑指Offer》57.2 和为 S 的连续正数序列

题目链接牛客网题目描述输出所有和为 S 的连续正数序列。例如和为 100 的连续序列有:[9, 10, 11, 12, 13, 14, 15, 16][18, 19, 20, 21, 22]。解题思路双指针法,小了就h++,大了就l++,相等后添加进res,然后h++import java.util.ArrayList;public class Solution { p...

2020-02-08 11:39:45 161

原创 《剑指Offer》57.1 和为 S 的两个数字

题目链接牛客网题目描述输入一个递增排序的数组和一个数字 S,在数组中查找两个数,使得他们的和正好是 S。如果有多对数字的和等于 S,输出两个数的乘积最小的。解题思路import java.util.*;public class Solution { public ArrayList<Integer> FindNumbersWithSum(int [] array,i...

2020-02-08 00:03:50 123

原创 《剑指Offer》56. 数组中只出现一次的数字

题目链接牛客网题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次,找出这两个数。解题思路

2020-02-07 23:10:07 155

原创 《剑指Offer》55.2 平衡二叉树

题目链接牛客网题目描述平衡二叉树左右子树高度差不超过 1。输入一棵二叉树,判断该二叉树是否是平衡二叉树。解题思路public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if (root==null) return true; return Math.a...

2020-02-07 22:07:49 94

原创 《剑指Offer》55.1 二叉树的深度

题目链接牛客网题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解题思路public class Solution { public int TreeDepth(TreeNode root) { return root==null? 0: Math.max(TreeDepth(root...

2020-02-07 22:03:16 71

原创 《剑指Offer》54. 二叉查找树的第 K 个结点

题目链接牛客网题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。解题思路import java.util.*;public class Solution { private List<TreeNode> lst = new ArrayList<>(); p...

2020-02-07 21:54:56 104

原创 《剑指Offer》53. 数字在排序数组中出现的次数

题目链接牛客网题目描述统计一个数字在排序数组中出现的次数。Input:nums = 1, 2, 3, 3, 3, 3, 4, 6K = 3Output:4解题思路

2020-02-07 21:43:21 95

原创 《剑指Offer》52. 两个链表的第一个公共结点

题目链接牛客网题目描述解题思路设 A 的长度为 a + c,B 的长度为 b + c,其中 c 为尾部公共部分长度,可知 a + c + b = b + c + a。当访问链表 A 的指针访问到链表尾部时,令它从链表 B 的头部重新开始访问链表 B;同样地,当访问链表 B 的指针访问到链表尾部时,令它从链表 A 的头部重新开始访问链表 A。这样就能控制访问 A 和 B 两个链表的指针能...

2020-02-07 20:53:12 93

原创 《剑指Offer》51. 数组中的逆序对

题目链接牛客网题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。解题思路就是在归并排序的时候做一点手脚,记录一下cnt数量public class Solution { private long cnt = 0; // 注意cnt是int可能越界 private int[] tmp; //...

2020-02-07 20:38:59 118

原创 《剑指Offer》50. 第一个只出现一次的字符位置

题目链接牛客网题目描述在一个字符串中找到第一个只出现一次的字符,并返回它的位置。Input: abaccOutput: b解题思路public class Solution { public int FirstNotRepeatingChar(String str) { if (str==null || str.length()==0) return -1;...

2020-02-06 21:01:34 95

原创 《剑指Offer》49. 丑数

题目链接牛客网题目描述把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。例如 6、8 都是丑数,但 14 不是,因为它包含因子 7。习惯上我们把 1 当做是第一个丑数。求按从小到大的顺序的第 N 个丑数。解题思路dp[i]表示第i+1个丑数public class Solution { public int GetUglyNumber_Solution(in...

2020-02-06 20:28:18 90

原创 《剑指Offer》48. 最长不含重复字符的子字符串

题目链接Leetcode题目描述输入一个字符串(只包含 a~z 的字符),求其最长不含重复字符的子字符串的长度。例如对于 arabcacfr,最长不含重复字符的子字符串为 acfr,长度为 4。解题思路动态规划。首先定义dp[i]表示以第i个字符结尾的不包含重复字符的子字符串的最大长度。如果第i个字符从未出现过,那么dp[i] = dp[i-1] + 1;如果第i个字符之前出现过,我们需...

2020-02-06 18:34:54 140

原创 《剑指Offer》47. 礼物的最大价值

题目链接牛客网题目描述在一个 m*n 的棋盘的每一个格都放有一个礼物,每个礼物都有一定价值(大于 0)。从左上角开始拿礼物,每次向右或向下移动一格,直到右下角结束。给定一个棋盘,求拿到礼物的最大价值。例如,对于如下棋盘1 10 3 812 2 9 65 7 4 113 7 16 5礼物的最大价值为 1+12+5+7...

2020-02-06 15:26:12 128

原创 《剑指Offer》46. 把数字翻译成字符串

题目链接Leetcode题目描述给定一个数字,按照如下规则翻译成字符串:1 翻译成“a”,2 翻译成“b”… 26 翻译成“z”。一个数字有多种翻译可能,例如 12258 一共有 5 种,分别是 abbeh,lbeh,aveh,abyh,lyh。实现一个函数,用来计算一个数字有多少种不同的翻译方法。解题思路动态规划,dp[i]表示到第i个字符为止的str有多少中可能class Solu...

2020-02-06 15:12:39 111

原创 《剑指Offer》45. 把数组排成最小的数

题目链接牛客网题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组 {3,32,321},则打印出这三个数字能排成的最小数字为 321323。解题思路可以看成是一个排序问题,在比较两个字符串 S1 和 S2 的大小时,应该比较的是 S1+S2 和 S2+S1 的大小,如果 S1+S2 < S2+S1,那么应该把 S1 排在...

2020-02-06 14:17:30 217

原创 《剑指Offer》44. 数字序列中的某一位数字

题目链接无题目描述数字以 0123456789101112131415… 的格式序列化到一个字符串中,求这个字符串的第 index 位。第5位是5,第13位是1,第19位是4等等解题思路假设index = 1001序列的前10位是0~9这10个只有一位的数字,显然1001在这10个数字之后,因此这10个数字可以直接跳过,我们再从后面紧跟着的序列中找第991位的数字(1001-10 =...

2020-02-06 00:34:17 182

原创 《剑指Offer》43.从 1 到 n 整数中 1 出现的次数

题目链接牛客网题目描述求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。解题思路数学之美上面提出的方法,设定整数点(如1、10、1...

2020-02-05 22:29:45 98

原创 《剑指Offer》42. 连续子数组的最大和

题目链接牛客网题目描述{6, -3, -2, 7, -15, 1, 2, 2},连续子数组的最大和为 8(从第 0 个开始,到第 3 个为止)。解题思路public class Solution { public int FindGreatestSumOfSubArray(int[] nums) { if (nums==null || nums.length==0...

2020-02-05 21:27:26 86

原创 《剑指Offer》41.2 字符流中第一个不重复的字符

题目链接牛客网题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符 “go” 时,第一个只出现一次的字符是 “g”。当从该字符流中读出前六个字符“google" 时,第一个只出现一次的字符是 “l”。解题思路import java.util.Queue;import java.util.LinkedList;public class Sol...

2020-02-05 21:17:15 108

原创 《剑指Offer》41.1 数据流中的中位数

题目链接牛客网题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。解题思路import java.util.PriorityQueue;public...

2020-02-05 20:47:55 112

原创 《剑指Offer》40. 最小的 K 个数

题目链接牛客网题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。解题思路大小为 K 的最小堆复杂度:O(NlogK) + O(K)特别适合处理海量数据应该使用大顶堆来维护最小堆,而不能直接创建一个小顶堆并设置一个大小,企图让小顶堆中的元素都是最小元素。维护一个大小为 K 的最小堆过程如下:在添加一...

2020-02-05 20:19:42 111

原创 《剑指Offer》39. 数组中出现次数超过一半的数字

题目链接牛客网题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解题思路多数投票问题,可以利用 Boyer-Moore Majority Vote Algorithm 来解决这个问题,使得时间复杂度为 O(N)。使用 c...

2020-02-05 20:10:41 122

原创 《剑指Offer》38. 字符串的排列

题目链接牛客网题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串 abc,则打印出由字符 a, b, c 所能排列出来的所有字符串 abc, acb, bac, bca, cab 和 cba。输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解题思路回溯,需要记录哪个元素被访问过。与Leetcode47类似import java.ut...

2020-02-05 16:04:57 106

Java华为面试真题

Java华为面试真题Java华为面试真题Java华为面试真题Java华为面试真题

2018-08-01

python数据处理

Python数据处理,封面上是一条蜥蜴的那个,包含Python简介,Python基础,供机器读取的数据,处理Excel文件,数据清洗等等内容

2018-07-11

WPS for Mac 内测版

wps的Mac版本,安装包解压缩密码WPS_Mac133,有效日期截止2018.7.31

2018-07-09

Optimus基于机器学习的集群管理

论文pdf版本。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-07-02

空空如也

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

TA关注的人

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