自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 【无标题】

内核源码下载

2023-02-11 15:11:06 57

原创 Docker基础命令

docker学习记录

2022-10-22 21:50:38 204 1

原创 栈和队列的典型用法

Stack1、进制转换余数进栈,一直到商变为0。2、计算后缀表达式遇到数字进栈,遇到运算符出栈

2021-07-16 21:59:14 85

原创 Mysql的一些总结

子查询我理解的子查询就是,在一个select查询中,用到了一个表a,那么我们把要查找的一列(比如a.col)的属性(或者叫元素)作为一个“变量”传入判断条件中,而这个判断条件包含一个新的select查询,如果这个“变量”传入新的select查询以后,使得这个判断条件得以满足。那么这个元素便会被外层select查询选中。...

2021-07-07 21:57:18 50

原创 Trie 字典树

特殊的26叉树,每个节点里只有一个boolean型变量判断是否为一个单词的结尾,以及Trie类型的next数组用来记录每一个节点。操作:插入新单词:用 (node.next[c-‘a’] == NULL)来判断当前节点是否具有字符c的节点,如果没有,就新建一个。查找:一直向下匹配如果节点值为空 或者 isEnd为false,就返回false。前缀匹配:和查找类似,只是当遍历结束的时候,不需要再判断isEnd是否为false了。应用场景“一次建树,多次查询”...

2021-06-09 21:29:25 60

原创 处理树问题的一些结构框架

思路:设计好当前节点需要做的操作,剩下的(左右子树)交给递归框架。一些题目(剑指offer26. 树的子结构)(101.对称二叉树)。借用辅助函数:如果当前节点会对下面的子节点有整体影响,可以通过辅助函数增长参数列表,借助参数传递信息。例题(98.验证二叉搜索树)(101. 对称二叉树)。二叉搜索树的操作:判断BST的合理性。因为子节点下面的节点值也需要和当前根节点的值进行比较,所以需要辅助变量通过参数传递信息遍历查找。插入:先遍历查找。找到空位置,直接插入,并返回新建节点。删除:找

2021-06-08 22:12:43 61

原创 处理字符串,数组和链表时,需要注意的点

数组边界点的处理和测试(测试代码时,要考虑边界情况)。if或while的判断语句中,只要出现了指针索引 i ,就一定要规定 i 在数组大小范围内。双指针的技巧。链表遍历链表时都会用到几个指针cur,pre,head。有时候在表头head前面加一个空值结点hair,会更方便处理。最后输出结果hair.next即可。...

2021-06-04 21:51:33 60 1

原创 leetcode中的数学方法

卡塔兰数满足h(n)= h(0)* h(n-1) + h(1)* h(n-2) + … + h(n-1)h(0) (其中n>=2)形式一阶迭代公式:有迭代公式就用迭代公式,不然计算大小会超出计算机限制h(n) = h(n-1) * (4n-2)/(n+1) 先算乘法,否则不能整除。而一旦先算乘法就需要用long类型了。组合数 :h(n)=C(2n,n)/(n+1)...

2021-05-28 17:12:27 89

原创 2020-11-25回溯算法

回溯和剪枝回朔法的思想: 回朔法的重要思想在于: 通过枚举法,对所有可能性进行遍历。 但是枚举的顺序是 一条路走到黑,发现黑之后,退一步,再向前尝试没走过的路。直到所有路都试过。因此回朔法可以简单的理解为: 走不通就退一步的方枚举法就叫回朔法。而这里回退点也叫做回朔点。回朔关键点 通过分析发现,回朔法实现的三大技术关键点分别是:一条路走到黑回退一步另寻他路关键点的实现 那么如何才能用代码实现上述三个关键点呢?for 循环递归解释如下for循环的作用在于另寻他路: 你可以用for循

2021-05-27 11:23:50 65

原创 java字符串知识点总结

字符串字符拼接如果明确两个都是字符串且不为空时,使用String.concat(str)。这种方法效率最高append()。这个方法是StringBuffer类的,适合需要拼接多个量的情况。+。当两个量有一个是字符串时,就可以将两者转换成字符串拼接。字符转换成字符串将字符转换成字符串上:String.valueOf(‘c’),效率最高的方法StringBuffer和StringBuilderString类是固定的。但是StringBuffer就算进行多个操作,也不会产生新的对象。Str

2020-11-03 17:12:47 165

原创 2020-10-26动态规划

动态规划题目总结维基百科中关于动态规划的描述是,只能运用于有最优子结构的问题,并且在处理的问题有很多重叠子问题时,特别有效。最优子结构是指局部最优值能决定全局最优值。(这一点似乎和贪婪算法很相似)。对于动态规划问题,最重要但也最难的,就是确定迭代公式。一般来说,它是分2,3种情况的分段函数。还有个重要的就是迭代矩阵,一般动态规划问题都可以写出一个矩阵,从右下到左上,就是一个大问题不断分解为小问题的过程。自己试着写一写迭代矩阵,对理解对应的动态规划题目有很大的帮助。记住几点迭代公式一定是从大到小

2020-10-26 18:15:25 79

原创 2020-10-18 动态规划(最长回文子串)

最长回文子串动态规划就在这里记录一下动态规划。我的理解是动态规划需要一个递归表,更容易理解。对于这个题,递归函数中,如果i = j,必然是回文,如果i = j-1,只需要比较这两个位置的值是否一样,否则,就需要递归比较内部的字符串。以abccbd作为例子,最开始是f[0][0](f[i][j]指s.substring(i,j+1)这一子串是否为回文),肯定为true,接着是f01, f11, f02, f12, f22…i \ j0a1b2c3c4b5d0atru

2020-10-18 18:44:45 133

原创 2020-10-05哈希表

只是突然想写下自己的想法。加油,慢慢来。leetcode——two sum首先自己的思路是,先排序,然后同时从最左边和最右边开始,不断使两边的索引向中间移动。这让我想到了快速排序,快排中partition的思想是,左右开弓,小的数到左边,大的数到右边,最后找到中间值应该在的索引位置。而我对于这个题的思路是,min + max,如果小于target,那么增大min(因为此时减小max永远不可能达到target),反之就减小max。如果不算排序过程,后面那一步应该是O(n)时间复杂度的吧?lucife

2020-10-05 21:27:50 91

《算法导论(原书第3版)》

全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。(仅供学习使用,不可用于商业用途,如有版权问题,请联系删除)

2018-04-26

空空如也

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

TA关注的人

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