- 博客(246)
- 收藏
- 关注
原创 @RequestParam和@RequestBody
@RequestParam和@RequestBody的使用场景@RequestParam① 支持POST和GET请求。② 只支持Content-Type:为application/x-www-form-urlencoded编码的内容。Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)@RequestBody① 不支持GET请求。② 必须要在请求头中申明content-Type(如application/
2020-08-04 19:35:44
307
转载 同步异步?阻塞非阻塞?并发并行?
阻塞非阻塞?阻塞调用是指调用结果返回之前,调用者会进入阻塞状态等待。只有在得到结果之后才会返回。非阻塞调用是指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。同步异步?同步:在发出一个同步调用时,在没有得到结果之前,该调用就不返回。异步:在发出一个异步调用后,调用者不会立刻得到结果,该调用就返回了。同步 阻塞区别同步的定义看起来跟阻塞很像,但是同步跟阻塞是两个概念, 同步调用的时候,线程不一定阻塞,调用虽然没返回,但它还是在运行状态中的,CPU很可能还在执行这段代码,而阻塞的话
2020-05-17 11:00:40
330
原创 《MySQL必知必会》知识点总结
创建样例表下载链接:http://www.forta.com/books/0672327120/下载脚本之后,开始创建和填充书中各章所用的表:(1)创建一个新的数据源create database crashcourse; (这里使用书中的数据源名称)(2)选择新的数据源 use crashcourse;(3)执行creat.sql脚本 source d:/downloads/create.sql; (使用mysql命令行使用程序的方法,source+文件的完全路径)(4)用po
2020-05-12 13:31:02
448
原创 数据库-索引
B+ Tree 原理数据结构B Tree 指的是 Balance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具有 B Tree 的平衡性,并且通过顺序访问指针来提高区间查询的性能。在 B+ Tree 中,一个节点中的 key 从左到右非递减排列,如果某个指针的左右相邻 key 分别是 ke...
2020-05-07 16:25:49
275
原创 数据库-事务
概念事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。事务四大特性原子性:事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么...
2020-05-07 16:16:42
302
转载 java中异常处理finally和return语句的执行顺序
finally代码块的语句在return之前一定会得到执行如果try块中有return语句,finally代码块没有return语句,那么try块中的return语句在返回之前会先将要返回的值保存,之后执行finally代码块,最后将保存的返回值返回,finally代码块虽然对返回值进行修改也不影响返回值,因为要返回的值在执行finally代码块之前已经保存了,最终返回的是保存的旧值。如果t...
2020-04-21 19:06:35
218
转载 java中split时,需要转义的几个字符
split() 方法根据匹配给定的正则表达式来拆分字符串。注意: . 、 $、 | 和 * 等转义字符,必须得加 \。注意:多个分隔符,可以用 | 作为连字符。
2020-03-21 17:21:42
686
原创 矩阵路径 LeetCode62 && LeetCode63 && LeetCode64
1. 矩阵的最小路径和 LeetCode 64. Minimum Path Sum (Medium)问题描述Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its...
2020-03-18 20:11:15
526
原创 LeetCode 216 : Combination Sum III
问题描述Find all possible combinations of k numbers that add up to a number n, given that only numbers from 1 to 9 can be used and each combination should be a unique set of numbers.Note:All numbers wi...
2020-03-18 10:57:21
158
原创 LeetCode 131 : Palindrome Partitioning
问题描述Given a string s, partition s such that every substring of the partition is a palindrome.Return all possible palindrome partitioning of s.Example:Input: “aab”Output:[[“aa”,“b”],[“a”,“a”,“b...
2020-03-18 10:29:03
149
原创 LeetCode 93. Restore IP Addresses
问题描述Given a string containing only digits, restore it by returning all possible valid IP address combinations.Example:Input: “25525511135”Output: [“255.255.11.135”, “255.255.111.35”]java实现class ...
2020-03-18 00:29:59
171
原创 LeetCode 17 : Letter Combinations of a Phone Number
问题描述Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone buttons) is...
2020-03-18 00:21:38
161
原创 美团笔试题练习-dp
题目描述小明同学在参加一场考试,考试时间2个小时。试卷上一共有n道题目,小明要在规定时间内,完成一定数量的题目。 考试中不限制试题作答顺序,对于 i 第道题目,小明有三种不同的策略可以选择: (1)直接跳过这道题目,不花费时间,本题得0分。(2)只做一部分题目,花费pi分钟的时间,本题可以得到ai分。 (3)做完整个题目,花费qi分钟的时间,本题可以得到bi分。小明想知道,他最多能得到...
2020-03-11 17:02:18
718
原创 464. 整数排序 II(排序算法)
问题给一组整数,请将其在原地按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。样例例1:输入:[3,2,1,4,5],输出:[1,2,3,4,5]。例2:输入:[2,3,1],输出:[1,2,3]。快速排序平均运行时间为O(NlogN),最坏的运行时间为O(N^2)一句话总结,就是通过交换实现关键字左边的元素不大于关键字,关键字右边的...
2020-02-20 10:40:55
442
原创 剑指offer-java实现 汇总
数组 数组中重复的数字数组 二维数组中的查找 数组 构建乘积数组 字符串 替换空格 字符串 正则表达式匹配 字符串 表示数值的字符串 字符串 字符流中第一个不重复的字符 链表 链表中环的入口结点 链表 删除链表中重复的结点 链表 从尾到头打印链表 树 重建二叉树 树 二叉树的下一个结点 树 对称的二叉树 树 按之字形顺序打印二叉树 树 把二叉树打印成多行 树 序列化二...
2020-02-15 18:51:53
407
原创 剑指offer-把字符串转换成整数
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0思路如果有符号位,除符号位,字符串的每一位不能是’’0’-'9’以外的值,如果有,返回0。注意整数范围,如果越界,返回0。java实现public clas...
2020-02-15 18:27:48
180
原创 剑指offer-树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:如果AB某一为空,不是子结构 返回false如果AB根节点的val相等,判断以B为根节点的子树是不是以A为根节点的子树子结构,如果是返回true如果不是,判断以B为根节点的子树是不是以A的左孩子为根节点的子树的子结构,如果是返回true如果不是,继续判断以B为根节点的子树是不是以A的...
2020-02-06 12:16:10
191
原创 Leetcode 206: Reverse Linked List
问题描述Reverse a singly linked list.Example:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2->1->NULLFollow up:A linked list can be reversed either iteratively or recursiv...
2020-02-05 18:38:46
172
原创 剑指offer-调整数组顺序使奇数位于偶数前面
书上题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。思路java实现import java.util.Arrays;//https://blog.youkuaiyun.com/qq_25343557/article/details/79221649public class reOrderArray_shu {...
2020-02-05 13:39:49
266
原创 剑指offer-矩形覆盖
题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路java实现way1 递归public class Solution { public int RectCover(int target) { if(target==0) return 0; ...
2020-02-04 13:24:56
144
转载 剑指offer-变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路关于本题,前提是n个台阶会有一次n阶的跳法。分析如下:f(1) = 1f(2) = f(2-1) + f(2-2) //f(2-2) 表示2阶一次跳2阶的次数。f(3) = f(3-1) + f(3-2) + f(3-3)…f(n) = f(n-...
2020-02-04 12:09:04
124
原创 剑指offer-跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路与实现当n=1 一种当n=2 两种(1+1 或者2)当n>2 f(n)=f(n-1)+f(n-2)第一次跳一级,跳法数目相当于剩下的n-1级的跳法数目第一次跳两级,跳法数目相当于剩下的n-2级的跳法数目实现1 递归public class So...
2020-02-04 11:32:16
123
原创 剑指offer-斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39思路与实现way1递归public class Solution { public int Fibonacci(int n) { if(n==0) return 0; else if(n==1) ...
2020-02-04 10:41:14
125
原创 剑指offer-旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路剑指offer面试题59java实现...
2020-02-03 22:58:53
136
原创 剑指offer-用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路push:将元素压栈stack1pop:stack2为空,把stack1的元素逐个弹出压栈stack2(先进入队列的被压栈stack1的底端,经过弹出和压栈处于stack2的顶端);stack2不为空,弹出栈顶元素(栈顶元素是最先进入队列的元素)java实现import java.util...
2020-02-03 09:41:51
159
原创 剑指offer-重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路前序遍历的结果中第一个数字(1)表示的结点是根节点,在中序遍历的结果中找到该根结点,左侧的三个结点为左子树的结点(4,7,2),右侧为右子树的结...
2020-02-01 19:53:29
149
原创 leetcode 101 : Symmetric Tree
问题描述java实现//way1 递归/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */...
2020-02-01 09:30:48
156
原创 剑指offer-替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路利用stringBuffer,当字符为空格,追加’%’,‘2’,‘0’;否则追加原字符java实现public class Solution { public String replaceSpace(String...
2020-01-28 13:38:11
137
原创 lintcode 127: Topological Sorting 拓扑排序
https://www.lintcode.com/problem/topological-sorting/my-submissions问题描述给定一个有向图,图节点的拓扑排序定义如下:对于图中的每一条有向边 A -> B , 在拓扑排序中A一定在B之前.拓扑排序中的第一个节点可以是图中的任何一个没有其他节点指向它的节点.针对给定的有向图找到任意一种拓扑排序的顺序The to...
2020-01-27 23:21:46
231
原创 Java队列(Queue)
1.add(E), offer(E) 在尾部添加元素:相同:禁止添加 null 元素,否则会报空指针 NullPointerException;不同: add() 方法在添加失败(比如队列已满)时会报 一些运行时错误;而 offer() 方法添加失败时返回 false。2.remove(), poll() 删除并返回第一个元素:当队列为空时 remove() 方法会报 NoSuchEle...
2020-01-27 18:27:37
206
原创 lintcode618: Search Graph Nodes
问题描述java实现// Definition for graph node. class UndirectedGraphNode { int label; ArrayList<UndirectedGraphNode> neighbors; UndirectedGraphNode(int x) { ...
2020-01-15 20:31:52
183
原创 Leetcode 133: Clone Graph
问题描述Given a reference of a node in a connected undirected graph, return a deep copy (clone) of the graph. Each node in the graph contains a val (int) and a list (List[Node]) of its neighbors.思路no...
2020-01-14 22:58:04
199
原创 Leetcode 261. 以图判树
问题描述java实现class Solution { public boolean validTree(int n, int[][] edges) { if(n==0) return false; // 判断是否满足条件:1. 刚好N-1条边 if(edges.length...
2020-01-14 21:43:52
1841
原创 Leetcode 103: Binary Tree Zigzag Level Order Traversal
问题描述思路与102类似,https://blog.youkuaiyun.com/weixin_44135282/article/details/103964266,区别在于加一个控制位用于反转。java实现/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeN...
2020-01-13 22:20:44
134
原创 Leetcode 107: Binary Tree Level Order Traversal II
问题描述思路与https://blog.youkuaiyun.com/weixin_44135282/article/details/103964266类似。java实现/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tr...
2020-01-13 21:04:30
136
原创 Leetcode 102: Binary Tree Level Order Traversal
问题描述思路宽度优先遍历 使用LinkedList实现队列先进先出,从尾部进入,从头部删除java实现/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNo...
2020-01-13 21:02:05
138
原创 Leetcode 173: Binary Search Tree Iterator
问题描述思路得到中序遍历结果,倒着存入栈中(较小的数字在上面), next()函数返回栈出栈得到的结果,hasNext()返回!result.isEmpty()( 因为 栈为空hasNext()为false,栈不为空hasNext()为true)java实现/** * Definition for a binary tree node. * public class TreeNod...
2020-01-09 22:19:31
117
原创 Leetcode 114: Flatten Binary Tree to Linked List
问题描述java实现/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Soluti...
2020-01-09 21:03:14
139
原创 Leetcode 98: Validate Binary Search Tree
#问题描述Given a binary tree, determine if it is a valid binary search tree (BST).给定一个二叉树,判断它是否是一个有效的二叉搜索树(BST)。Assume a BST is defined as follows:The left subtree of a node contains only nodes with ke...
2020-01-08 23:02:59
151
原创 Leetcode 236: Lowest Common Ancestor of a Binary Tree
问题描述给定一棵二叉树,找出树中两个给定节点的最低共同祖先(LCA)。根据Wikipedia对LCA的定义:“在两个节点p和q之间定义的最低公共祖先是T中同时具有p和q后代的最低节点(我们允许一个节点是它自身的后代)”思路java实现/** * Definition for a binary tree node. * public class TreeNode { * i...
2020-01-07 23:05:32
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人