随笔分类 - 算法练习
摘要:今天是《剑指offer》算法题系列的最后一天了,但是这个系列并没有包括书上的所有题目,因为正如第一天所说,这些代码是在牛客网上写并且测试的,但是牛客网上并没有涵盖书上所有的题目。 今日题目: 其中第5,6题是比较典型的二叉树层次遍历的题目,比较简单,这边就不在阐述,但是大家对它们还是得非常熟悉。 1
阅读全文
摘要:今日题目: 今天的题目比较有意思,可以学到很多知识,包括第1题中的数据结构——双向队列,第3题约瑟夫环问题等。 1.滑动窗口的最大值 代码如下: 2. 扑克牌中的顺子 代码如下: 3.圆圈中最后剩下的数字 代码如下: 4. 求1+2+3+...+n 代码如下: 5. 不用加减乘除做加法 代码如下:
阅读全文
摘要:今日题目: 1. 数组中的逆序对 代码如下: 2.两个链表中的第一个公共节点 代码如下: 3.数字在排序数组中出现的次数 代码如下: 4.二叉搜索树的第k大节点 代码如下: 5.字符流中第一个不重复的字符 代码如下:
阅读全文
摘要:今日题目: 今天的题目相对比较难,特别是第1题和第3题很考验数学功底,下面我们一题一题来看看。 1.整数中1出现的次数 代码如下: 2.把数组排成最小的数 代码如下: 3. 丑数 代码如下: 4.第一个只出现一次的字符位置 代码如下:
阅读全文
摘要:今日题目(对应书上第39~42题): 今天的题目都比较经典,特别是第2题。 1. 数组中出现次数超过一半的数字 代码如下: 2. 最小的k个数 代码如下: 3.数据流中的中位数 代码如下: 4.连续子数组的最大和 代码如下:
阅读全文
摘要:今日题目: 1.复杂链表的复制 代码如下: 2. 二叉搜索树与双向链表 代码如下: 3. 序列化二叉树 代码如下: 4. 字符串的排列 代码如下:
阅读全文
摘要:今日题目: 今天的题目都比较简单,下面一一介绍: 1. 顺时针打印矩阵 代码如下: 2. 包含min函数的栈 代码如下: 3.栈的压入、弹出序列 代码如下: 4. 从上到下打印二叉树 代码如下: 5. 二叉搜索树的后序遍历序列 代码如下: 6.二叉树中和为某一值的路径 代码如下:
阅读全文
摘要:今日题目: 今日重点是1反转链表,3树的子结构,以及5对称二叉树。 1. 反转链表 代码如下: 3. 树的子结构 代码如下: 漂亮的 不漂亮的。。 5. 对称二叉树 代码如下:
阅读全文
摘要:今日题目: 今天的题目都比较简单,但是前三道题都有不同的解法,4,5两题就不在这边讨论了,其中第五道题大家可以了解一下floyd判圈算法。 1. 二进制中1的个数 解法一: 解法二,这个解法要由于解法一,循环的次数为1出现的次数: 2. 数值的整数次方 解法一,递归: 解法二,迭代: 3.调整数组顺
阅读全文
摘要:今日题目: 细心的同学会发现,第1,2,3题其实对应的是《剑指》书上的同一道题目,即第10题斐波那契数列,这类问题属于递归问题,虽然思路比较简单,但却是属于那种不看答案想不出来,看了答案恍然大悟的题目,因此在平时同学们和博主都应该多练练这一类型的题目,培养这种递归的思维。有趣的是,博主在做题的时候发
阅读全文
摘要:今日题目(分别对应剑指书3~9题): 今日重点为1,2,5,6,后面会有详细的思路解析,现在先来简单地提一下其他题目: 3. 替换空格: 题目将一个句子中的空格转化为“%20”,为使时间复杂度达到O(n),采用从后往前遍历字符串的方法,即先遍历一遍字符串记录空格的个数,以此计算出转化完之后字符串新的
阅读全文
摘要:按照个人计划,从今天开始做《剑指offer》上面的算法题,练习平台为牛客网,上面对每道题都有充分的测试实例,感觉还是很不错的。今天下午做了四道题,分别为: 1. 二叉树的深度(书55题) 二叉树的深度 判断平衡二叉树 2. 数组中数字出现的次数(书56题) 数组中只出现一次的两个数字 3. 和为S的
阅读全文