![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
史上最强大乘渡劫老怪
总结与分享是博客的精髓
展开
-
算法踩坑记录,气死啦
踩坑目录二分循环条件情况的忽略递归计算目标时忽略掉参数需进入下一层才能利用二分循环条件情况的忽略力扣原题 排序数组查找元素//正确代码 class Solution { public int[] searchRange(int[] nums, int target) { int leftindex=0,rightindex=nums.length-1; int []num=new int[2]; num[0]=-1;原创 2020-10-17 23:29:20 · 160 阅读 · 0 评论 -
JVM基础知识回顾总结
JVM内存模型原创 2020-08-30 14:47:49 · 990 阅读 · 0 评论 -
Java集合方法汇总-力扣刷题必备
- 栈创建栈 Stack stack=new Stack();判断栈是否为空stack.empty();取出栈顶的元素,不弹出注意,元素取出时是object类型,需进行类型强转stack.peek();取出栈顶的元素,弹出stack.pop();存入元素stack.push(元素);栈的大小stack.size();-数组String[] strs={“1”,“2”};长度表示strs.length;...原创 2020-09-27 15:26:08 · 1291 阅读 · 0 评论 -
总结下所有的排序
快速排序(是种不稳定的排序,因为会打乱原有的排序)直接引用百科的话,其思想是1)设置两个变量i、j,排序开始的时候:i=0,j=N-1; [1]2)以第一个数组元素作为关键数据,赋值给key,即key=A[0]; [1]3)从j开始向前搜索,即由后开始向前搜索(j–),找到第一个小于key的值A[j],将A[j]和A[i]的值交换; [1]4)从i开始向后搜索,即由前开始向后搜索(i++),找到第一个大于key的A[i],将A[i]和A[j]的值交换; [1]5)重复第3、4步,直到i=j; (原创 2020-08-18 16:29:04 · 175 阅读 · 0 评论 -
关于动态规划的一些个人理解
动态规划解决的就是需要重复的过程 dp数组 存储已经算过的重复的值还需要抽象化事物的能力,列出状态方程,找到第一个突破点,之后逐步击破到答案原创 2020-08-11 19:56:24 · 159 阅读 · 0 评论 -
自己关于递归的一些理解
递归是一种抽象的概念,比如当我们想要完成某一递归函数DFS()的功能时,你可以先假设这个DFS()已经有你想要的功能啦,之后再书写边界条件,然后再书写具体功能的实现,不关注过程,只关注结果,当然前提在有点思路的情况下这里拿力扣的一道回溯算法题举个例题目链接: 添加链接描述这道题就是求最小平方和的个数,我们可以先设定一个空的DFS()函数,假设这个函数已具备返回平方和的最小个数的功能书写,功能抽象化先直接放下别人的图捋个思路这时候就很明显啦,父亲结点的最小个数即DFS(父)就是众多子节点中DFS原创 2020-08-11 12:17:57 · 151 阅读 · 0 评论 -
HashMap的底层实现原理解读
哈希表的初始化1.HashMap<String, Integer> map = new HashMap<>();当创建HashMap集合对象的时候,在jdk8前,是在HashMap的构造方法中创建一个长度是16的 Entry[] table 用来存储键值对数据的。在jdk8以后不是在HashMap的构造方法底层创建数组了,是在第一次调用put方法时创建的数组 Node[] table 用来存储键值对数据,来看jdk1.8后的源码其中HashMap的部分变量成员先列出来//一个原创 2020-08-09 18:55:42 · 398 阅读 · 0 评论