- 博客(5)
- 收藏
- 关注
原创 SpringBoot参数映射基本注解
基本注解@PathVariable、@RequestHeader、@RequestAttribute、@RequestParam、@MatrixVariable、@CookieValue、@RequestBody这些注解,主要是用在Controller控制器在接收前端传过来的相关请求和数据时使用的。通过这些注解,可以精确的获取相关请求的数据,然后在控制器中处理相关数据。@PathVariable路径变量:在rest风格中,可以用@PathVariable注解,对应{id},然后获取请求路径中的变量。
2021-02-20 12:25:07 916
原创 双散列表实现随机概率返回
题目要求设计一个结构,实现三个功能:1.add();将某个String添加到该结构中,做到不重复添加。2.getRandom();严格等概率随机返回结构中的任何一个key。3.delete();要求以上三个方法的时间复杂度全部为O(1)。思路分析1.add()添加String,并且要求不重复。不重复?O(1)?想到什么?散列表。2.getRandom()严格等概率随机返回,相当于要求随机返回散列表中的一个key。首先要知道,散列函数的散列区间并不是严格等概率分布的,要想做到严格等概率
2021-02-07 12:24:10 99
原创 完全二叉树节点个数,时间复杂度O(N)以内
题目要求给定一颗完全二叉树,请求出该完全二叉树节点个数。要求时间复杂度在O(N)以内。N为节点个数。思路分析求二叉树节点个数,第一反应就是常规遍历了,但是题目要求必须O(N)以内,再加上给的是完全二叉树。因此,此题肯定要利用完全二叉树的性质,来简化。第一步,分析完全二叉树的性质:1.只可能最后一行是不满的。2.最后一行都是先从左边开始排列。因此,此题的思路:首先,先求出整棵树的最大深度。就是从根节点,依次遍历左孩子。然后,从根节点右孩子开始,再次计算右孩子子树的最大深度。此时,计算右孩子
2021-02-03 11:30:34 717
原创 完全二叉树的判断(用队列实现层序遍历二叉树)
概念完全二叉树定义:一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。分析一下完全二叉树的概念,有几个特点:1.完全二叉树的概念是在层序遍历的基础上建立的,层序遍历就是从上而下一层层遍历,每层是从左到右遍历。2.如果有一个节点的左孩子不存在,右孩子却存在,那么必定不是完全二叉树3.当出现某一个节点的左右孩子不是都存在时,那么这个节点层序遍历后面的所有节点,都是
2021-02-02 18:55:04 624
原创 平衡二叉树的判断,对二叉树递归的深入一步理解
概念平衡二叉树,就是指二叉树中每个节点其左右孩子子树的高度,不能超过1。二叉树递归过程的再理解二叉树最基本的遍历,前中后序遍历,最简单的就是用递归实现。再次看二叉树的递归过程,可以看到,其实,每个节点都被扫描了三次:第一次,从根节点是向下递归的时候,扫描到了。第二次,当左孩子子树递归返回时,扫描到了。第三次,当右孩子子树递归返回时,扫描到了。二叉树递归过程的第二个理解,就是,递归本身就是分而治之的思想,因此,每一个节点,都是要重复以上三步的,先是本身扫描,然后,左孩子返回,右孩子返回。因此
2021-02-01 11:24:33 137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人