自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring和Mybatis主流框架的部分源码分析

Mybatis的简单查询首先 我们按照官方文档 新建一个查询配置数据源@SpringBootApplication@MapperScan("com.springmybatisexample.demo.Dao")public class test implements ApplicationRunner { @Autowired UserService userServic...

2020-04-29 23:22:11 376

原创 替换空格

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。一个空格要替换成三个字符(%20),所以当遍历到一个空格时,需要在尾部填充两个任意字符 public static String replaceSpace(StringBuffer str) { int i = st...

2020-04-28 17:56:08 80

原创 数组中的重复数字

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。public class Solution { // Parameters: // numbers: ...

2020-04-28 17:02:01 116

原创 二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { public boolean Find(int target, int[][] array) { if (array == null ||...

2020-04-28 17:00:51 80

原创 合并K个排序链表

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-k-sorted...

2020-04-27 00:25:28 97

原创 用栈实现队列

使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(); ...

2020-04-26 22:47:31 89

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

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所...

2020-04-23 22:44:10 103

原创 两数相加

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> ...

2020-04-23 20:15:06 92

原创 硬币

硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)示例1:输入: n = 5输出:2解释: 有两种方式可以凑成总金额:5=55=1+1+1+1+1示例2:输入: n = 10输出:4解释: 有四种方式可以凑成总金额:10=1010=5+510=5+1+1+1+1+110=1+...

2020-04-23 17:57:44 196

原创 初级排序与高级排序

排序算法1.比较类排序通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序2.非比较类排序(一般用于整型相关的数据类型)不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。初级排序(O(n^2))1.选择排序每次找最小值,然后放到待排序数组的起始位置2.插入排序从前...

2020-04-19 15:23:59 471

原创 HTTPS 详述

HTTPS是什么HTTPS(HyperText Transfer Protocol Secure)超文本传输安全协议,数据通信仍然是HTTP,但利用SSL/TLS加密数据包。工作流程用户在浏览器发起HTTPS请求(如 https://www.mogu.com/),默认使用服务端的443端口进行连接;HTTPS需要使用一套CA数字证书,证书内会附带一个公钥Pub,而与之对应的私钥Priva...

2020-04-18 16:42:33 1983

转载 B+树详述

B+树的特性B+树和B树一样都是多路平衡树,也叫多叉树。两者的性质也基本一致。B+树大部分特性都和B树一样,唯一不同的只有以下几点:所有的数据都存储在叶子节点,中间节点不存放数据中间节点的元素数量和子树数量一致,而B树子树数量比元素数量多1叶子节点是一个链表,可以通过指针顺序查找从上图我们可以看到,所有出现在中间节点的元素都能在叶子节点当中找到,这对应了刚才说的所有数据都存放在叶...

2020-04-18 16:33:04 910

转载 B树详解

B树B树,一般都被叫做B-树。定义B树中的每个节点的元素和子树数量是有限的,除了根节点外,所有节点最多拥有M-1个元素,所有非叶子非根节点最多拥有M个子树,即为M阶树。根节点至少拥有两个子树,除了根节点之后的非叶子节点拥有K个子树以及K-1个元素((M+1)/2<K<M),元素按照递增或递减顺序排列所有叶子节点属于同一层B树的查找因为B树当中一个节点对应的K个子树和它...

2020-04-18 15:17:15 4073

原创 322. 零钱兑换

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1来源:力扣(Leet...

2020-04-17 17:47:46 197

原创 198. 打家劫舍

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

2020-04-17 17:17:00 94

原创 53. 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-subarray解法神奇:cla...

2020-04-17 15:05:36 80

原创 1143. 最长公共子序列

给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没...

2020-04-17 01:07:18 138

原创 120. 三角形最小路径和

给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/triangleclass Solution ...

2020-04-17 01:01:22 97

原创 63. 不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[[0,0,0],[0...

2020-04-16 22:22:19 122

原创 深度优先搜索(DFS)和广度优先搜索(BFS)

深度优先搜索(DFS)1.访问顶点v;2.依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问;3.若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到图中所有顶点均被访问过为止广度优先搜索(BFS)首先将根节点放入队列中。从队列中取出第一个节点,并检验它是否为目标。如果找到目标,则结束搜寻并回传结果。否则将它所有尚未...

2020-04-16 14:44:25 279

原创 17. 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。来源:力扣(LeetCode)链接:ht...

2020-04-15 18:30:31 135

原创 169. 多数元素

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-...

2020-04-15 18:01:19 108

原创 78. 子集

回溯算法回溯法采用试错的思想,它尝试分布的去解决一个问题。在分布解决问题的过程中,当它通过尝试发现现有的发布答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其他的可能的发布的解答再次尝试寻找问题的答案。回溯法通常用最简单的递归方法实现,在反复重复上述的步骤之后可能出现两种情况:找到一个可能存在的正确答案。在尝试了所有可能的分布方法后宣告该问题没有答案题给...

2020-04-15 17:53:30 99

原创 50. Pow(x, n)

实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有...

2020-04-15 17:22:47 112

原创 二叉搜索树、AVL树、红黑树

二叉搜索树二叉搜索树,也称有序二叉树、排序二叉树,是指一颗空数树或者具有下列性质的二叉树:1.左子树上所有结点的值都小于它的根结点的值;2.右子树上所有结点的值都大于它的根结点的值;3.以此类推,左、右子树也分别为二叉查找树中序遍历 :升序排序保证性能的关键1.保证二维维度!——> 左右子树结点平衡2.保证是平衡的AVL树时间复杂度是O(logn)1.平衡因子:是它的...

2020-04-14 22:45:49 277

原创 二叉树的深度

二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。class Solution { public int m...

2020-04-12 15:41:56 155

原创 翻转二叉树

翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-treeclass S...

2020-04-12 15:03:22 95

原创 98. 验证二叉搜索树

给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:2/ 1 3输出: true示例 2:输入:5/ 1 4/ 3 6输出: false解释: 输入为: [5,1,4,null,null,3...

2020-04-12 13:10:05 89

原创 22. 括号生成

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]使用递归 在添加括号的时候 加入 判断条件class Solution { private List<String> res; pu...

2020-04-12 10:29:19 151 1

原创 二叉树的遍历

二叉树的前序遍历:根左右二叉树的中序遍历:左根右二叉树的后序遍历:右根左给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2]class Solution { public List < Integer > inorderTraversal(TreeNode root) { List &lt...

2020-04-10 21:18:12 110

原创 使用Spring Cloud Sleuth实现链路追踪

Spring Cloud 提供的服务治理功能依赖提供了Spring Cloud Sleuth - spring-cloud-starter-sleuth功能引入Spring Cloud Sleuth with Zipkin - spring-cloud-starter-zipkin依赖日志输出[appname,traceId,spanId,exportable]exportab...

2020-04-07 18:28:36 214

原创 通过 Spring Cloud Stream 访问 Kafka

认识 Apache Kafka什么是 Kafka诞生之初被用作消息队列,一般来说做一个日志消息的转发,现已发展为强大的分布式事件流平台LinkedIn 在 2011 年开源Spring Cloud Stream 对 Kafka 的支持依赖引入 Spring Cloud - spring-cloud-starter-stream-kafka配置spring.cloud.st...

2020-04-06 23:57:15 1444

原创 通过 Spring Cloud Stream 访问 RabbitMQ

Spring Cloud Stream 对 RabbitMQ 的支持依赖引入 Spring Cloud - spring-cloud-starter-stream-rabbit 依赖底层使用了 Spring Boot - spring-boot-starter-amqp配置spring.cloud.stream.rabbit.binder.*binder 抽象的配置spring...

2020-04-05 16:47:28 559

原创 49. 字母异位词分组

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。来源:力扣(LeetCode)链接:https...

2020-04-04 23:36:38 100

原创 239. 滑动窗口最大值

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sliding-window-maximumpublic int[] maxSlidingWindow(int...

2020-04-04 19:27:32 127

原创 认识 Spring Cloud Stream

Spring Cloud StreamSpring Cloud Stream 是什么⼀款用于构建消息驱动的微服务应用程序的轻量级框架特性声明式编程模型,通过注解配置来声明我的这个系统要收发声明消息,这些消息有什么样的特性引入多种概念抽象,不同的消息中间件提供的接口、特性是不一样的,Spring Cloud Stream 给它做了一层统一的封装抽象• 发布订阅、消费组、分区支持多...

2020-04-03 21:26:28 148

原创 哈希表、映射、集合的实现与特性

哈希表哈希表(Hash table),也叫散列表,是根据关键码值(key value)而直接进行访问的数据结构。它提过把关键码值映射到表中的一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数(Hash Function),存放记录的数组叫做哈希表。哈希表的实现原理假如 我们要存放一个lies字符串 如果存?我们通过哈希函数,将lies传给哈希函数之后,它就会返回一个下标,这...

2020-04-02 22:26:28 359

原创 84. 柱状图中最大的矩形

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。示例:输入: [2,1,5,6,2,3]输出: 10class Solution { public int largestRectangleArea(int[] heights) { int res = 0; De...

2020-04-02 17:31:55 92

原创 基于 Nacos 的配置中心

Spring Cloud Alibaba Nacos Config依赖spring-cloud-starter-alibaba-nacos-configspring-cloud-alibaba-dependencies:0.9.0• 注意 Spring Cloud 与 Spring Boot 的对应版本启⽤用bootstrap.properties | yml• spring.cl...

2020-04-02 14:49:08 960

原创 155. 最小栈

设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minS...

2020-04-01 18:37:34 95

空空如也

空空如也

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

TA关注的人

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