自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 问题记录01:事务导致Mybatis plus的多数据源@DS不起作用了

问题记录01:spring事务导致Mybatis plus的多数据源@DS不起作用由于使用了微服务,会有多个数据库的情况,有时业务需要,需要切换数据源,所以使用了Mybatis plus的@DS来切换多数据源yml数据库配置如下:service如下,默认是master数据源userServicebookService但是神奇的事发生的,bookService的数据库应该是common,但是却是master的,也就是说@DS切换数据源没有起作用1.排查:去除MasterServic

2021-06-21 17:32:37 3112 2

原创 208、实现 Trie (前缀树)

208、实现 Trie (前缀树)https://leetcode-cn.com/problems/implement-trie-prefix-tree/submissions//** * * 执行用时: 56 ms * 内存消耗: 49.3 MB */class Trie {private class Node { public HashMap<Character, Node> childs; public boolean isLe

2021-06-04 11:33:10 97

原创 面试题 17.17. 多次搜索

面试题 17.17. 多次搜索https://leetcode-cn.com/problems/multi-search-lcci//** * * 执行用时: 37 ms * 内存消耗: 59.9 MB */class Solution { public int[][] multiSearch(String big, String[] smalls) { if (big == null || smalls == null) { return nu

2021-06-04 11:32:29 109

原创 20、889. 根据前序和后序遍历构造二叉树

利用前序遍历来构建Tree,然后通过后续遍历来检验当前树是否构建完毕。/** * * 889. 根据前序和后序遍历构造二叉树 * * 执行用时: 1 ms * 内存消耗: 37.9 MB * */public class ConstructFromPrePost { int preIdx = 0, postIdx = 0; public TreeNode constructFromPrePost(int[] pre, int[] post) { TreeNo

2021-05-17 15:25:57 140

原创 19、437. 路径总和 III

分成两种情况递归:路径包含当前结点,路径不包含当前结点。/** * * 437. 路径总和 III * * 执行用时: 30 ms * 内存消耗: 38.1 MB * */public class PathSumThree { int ans = 0; public int pathSum(TreeNode root, int targetSum) { if(root == null){ return 0; }

2021-05-17 15:25:28 51

原创 18、面试题 04.03. 特定深度节点链表

层次遍历:/** * * 面试题 04.03. 特定深度节点链表 * * 执行用时: 1 ms * 内存消耗: 36.5 MB * */public class ListOfDepth { public ListNode[] listOfDepth(TreeNode tree) { LinkedList<TreeNode> queue = new LinkedList<>(); queue.offer(tree);

2021-05-17 15:24:56 68

原创 17、剑指 Offer 34. 二叉树中和为某一值的路径

递归实现:/** * 剑指 Offer 34. 二叉树中和为某一值的路径 * * 执行用时: 1 ms * 内存消耗: 38.6 MB * */public class PathSum { public List<List<Integer>> pathSum(TreeNode root, int target) { List<List<Integer>> res = new ArrayList<>();

2021-05-17 15:24:19 46

原创 16、剑指 Offer 68 - II. 二叉树的最近公共祖先

剑指 Offer 68 - II. 二叉树的最近公共祖先方法一:递归/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class LowestCommonAncestor { priva

2021-05-07 16:43:16 46

原创 15、面试题 16.25. LRU 缓存

面试题 16.25. LRU 缓存方法一:HashMap+LinkedListpublic class LRUCache { HashMap<Integer, Integer> map; LinkedList<Integer> list; int capacity; public LRUCache(int capacity) { this.capacity = capacity; map = new HashMap

2021-05-07 16:42:34 123

原创 14、162.寻找峰值

162.寻找峰值峰值元素是指其值大于左右相邻值的元素。给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例 2:输入:nums = [1,2,1,3,5,6,4]输出:1 或 5解释:你的函数可以返回索引 1,其峰值元素为 2;或者返回索引 5

2021-04-25 15:19:01 50

原创 13、153.寻找旋转排序数组中的最小值

153.寻找旋转排序数组中的最小值已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]] 。给你

2021-04-25 15:18:10 42

原创 12、42.接雨水

42.接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9提示:· n == height.length· 0 <= n &

2021-04-25 15:17:33 57

原创 11、面试题 03.06. 动物收容所

面试题 03.06. 动物收容所动物收容所。有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”(由其进入收容所的时间长短而定)的动物,或者可以挑选猫或狗(同时必须收养此类动物中“最老”的)。换言之,收养人不能自由挑选想收养的对象。请创建适用于这个系统的数据结构,实现各种操作方法,比如enqueue、dequeueAny、dequeueDog和dequeueCat。允许使用Java内置的LinkedList数据结构。enqueue方法有一个a

2021-04-25 15:14:19 160

原创 10、148.排序链表

148.排序链表给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]示例 3:输入:head = []输出:[]提示:链表中节点的数目在范围 [0, 5 * 104] 内-105 <= Node.v

2021-04-11 17:00:35 60

原创 09、面试题 08.06. 汉诺塔问题

面试题 08.06. 汉诺塔问题在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。你需要原地修改栈。示例1: 输入:A = [2, 1, 0], B = [], C = []

2021-04-11 16:59:59 75

原创 08、剑指 Offer 59 - II. 队列的最大值

剑指 Offer 59 - II. 队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入: ["MaxQueue","push_back","push_back","max_value","pop_front","max_value"][[],[1],[2],[],[],[]]输出:

2021-04-11 16:59:28 48

原创 07、剑指 Offer 59 - I. 滑动窗口的最大值

剑指 Offer 59 - I. 滑动窗口的最大值给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6

2021-04-11 16:59:01 55

原创 06、739. 每日温度

739. 每日温度请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。public class D

2021-03-28 22:21:40 63

原创 05、面试题 16.26. 计算器

面试题 16.26. 计算器难度中等34收藏分享切换为英文接收动态反馈给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+5 / 2 "输出: 5说明:你可以假设所给定的表达式都是有效的。请不要使用内置的库函数 eval。方法一

2021-03-28 22:20:13 83

原创 2、 两数相加

2、 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9

2021-03-20 16:36:38 57

原创 206、反转链表

206、反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。递归:/** * Def

2021-03-20 16:34:12 70

原创 02、重新排列字符串

1528.重新排列字符串给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。示例 1:输入:s = “codeleet”, indices = [4,5,6,7,0,2,1,3]输出:“leetcode”解释:如图所示,“codeleet” 重新排列后变为 “leetcode” 。示例 2:输入:s = “abc”, indices = [0,1,2]输出:“

2021-03-14 20:58:54 144

原创 01、url化

03.URL化编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例 1:输入:"Mr John Smith ", 13输出:“Mr%20John%20Smith”示例 2:输入:" “, 5输出:”%20%20%20%20%20"提示:字符串长度在 [0, 500000] 范围内。来源:力扣(LeetCode)链

2021-03-14 20:57:02 131

空空如也

空空如也

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

TA关注的人

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