![](https://img-blog.csdnimg.cn/95107fb7457d42ea94bfc698f068e0f5.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法习题
文章平均质量分 82
算法和习题
Webster_Yuan
KeepGoing
展开
-
滑动窗口思想练习题
滑动窗口解决串联所有单词的子串和找到字符串中所有的字母异位词原创 2022-12-18 18:06:36 · 278 阅读 · 0 评论 -
寻找两个正序数组的中位数&&K个一组翻转链表
寻找正序数组中位数和k个一组翻转链表原创 2022-12-17 13:15:18 · 511 阅读 · 0 评论 -
《剑指offer》每日分享三道题 -1 day
《剑指offer》中都是必刷的题目,接下来我将会出一个系列的博文来带大家和我一样完成这一系列的题目。杨氏矩阵查找元素首先给大家一个杨氏矩阵的示意图,如图所示:一个二维数组从左到右,从上到下都是递增的那么我们如何查找到一个数组元素是否存在呢?大多数情况下,在数组元素并不是很多的情况下我们都会进行数组遍历从而确定。接下来将会给大家呈现一种新的方法1.首先我们需要清楚的一件事情就是:*查找的过程就是排除的过程,一次过程排除的越多效率就越高思路:跟右上角(左下角)的元素进行比较, 如果.原创 2022-04-01 12:05:12 · 538 阅读 · 1 评论 -
qsort(快速排序)函数和bsearch(二分法查找) 函数
qsort函数C语言编译器函数库自带的排序函数,quick sort快速排列函数。qsort函数包含在C 标准库 - <stdlib.h>中。qsort 的函数原型是void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));qsort函数通用性比较好,可以排序数组,字符串,结构体等进行升序降序排列。为了让大家便于理解,我们先举一个简单的整形数组的例子:...原创 2021-08-16 22:30:21 · 427 阅读 · 4 评论 -
《剑指offer系列》-day3
文章目录一. 根据前中序完成二叉树(不包含重复数据)的重建1. 思路:2. 下面代码中的递归语句理解:3. 代码如下(另有相关代码注释帮助理解):二.二进制计算一个数字里面有几个1三. 输入一个单链表,输出倒数第K个节点四. 每日小感慨一. 根据前中序完成二叉树(不包含重复数据)的重建1. 思路:先序遍历第一个就是根节点,所以拿着前序的根节点在中序序列中找到根节点的位置。先找到根节点,进而划分左子树和右子树的前中序序列。划分如下:(1)如何划分前序(根节点,左子树前序,右子树前序)(2)如何划分原创 2022-04-17 23:00:20 · 572 阅读 · 0 评论 -
二叉树练习题分享
**二叉树是常见的数据结构,本期分享二叉树的升级版算法。难懂的地方本人已经做出注释以及相应的图示分析帮助大家理解。**文章目录1. 将二叉树的节点转换成括号表达式(1)做法一:(2)做法二:减少拷贝次数,string 的构造次数。2.“新”层序遍历,实现一次出多个,返回一个二维数组。3.二叉树两个节点的最近公共祖先4.二叉树转换为双向链表5.前中序实现二叉树重建6.非递归实现前中后序遍历1.非递归实现前序遍历2.非递归实现中序遍历3.非递归实现后序遍历7. 每日分享!1. 将二叉树的节点转换成括号原创 2022-05-01 18:31:46 · 764 阅读 · 4 评论 -
《剑指offer》每日分享三道题- 2 day
《剑指offer》系列第二弹,让我们用饱满的热情,迎接接下来的几道小题。 >本系列分享的都是常规做法和全新思路的总结,各位可千万不要看着眼熟,而错过新颖的思路噻!!!文章目录1.将数组中出现次数超过一半的数字返回(1)采用unordered_map方式(2)先排序再找中间位置元素记录次数进行验证(3)候选法,两个不同的数据相消减2. 将字符串中的空格替换成 %203.递归的思路实现单链表的逆序打印4. 大郎,喝鸡汤了!!!1.将数组中出现次数超过一半的数字返回(1)采用unordered_m.原创 2022-04-02 22:56:44 · 309 阅读 · 0 评论 -
《剑指offer系列》每日分享 day-4
文章目录一. 翻转单链表1.三指针的方法2. 头插的方法(推荐)二. 俩个单调递增的单链表合并为一个不递减的单链表1. 正常做法2.递归的方式实现三.二叉树 判断b是否是a的子树(空树不是任意一棵树的子树)四. 小激励来了一. 翻转单链表1.三指针的方法在我们采用三指针进行单链表的翻转时,我们要考虑到三种情况:(1) 当传过来的这个链表是一个空或者只有一个的时候,就不需要再进行翻转,直接返回就行(2) 就是图示的正常情况,当三个指针指向的都有值。(3)当最后一个指针指向空时,跳出循环要进行特殊处原创 2022-04-18 14:28:04 · 1064 阅读 · 0 评论 -
《剑指offer》每日分享三道题系列 -day 6
今天的主题大致是栈和队列的时候,希望大家可以加深对于站和队列的应用理解文章目录一.找到所含有的最小元素时间复杂度是O(1)(辅助栈)二. 判断是否是栈的弹出序列三.二叉树的层序遍历四.逆波兰表达式的求解(后缀表达式)五. 每日一遍,学习不厌!一.找到所含有的最小元素时间复杂度是O(1)(辅助栈)我们面对这道题的第一个想法是在元素入栈之前进行最小值的判断,如果是最小值就更新一下,这样在将所有元素入栈之后,我们就可以得到最小值。但是如果我想要的是数组元素中第二小的值呢?第三小的值呢?所以这种疑问就引导原创 2022-04-23 10:29:02 · 130 阅读 · 3 评论 -
《剑指offer》每日分享三道题系列-day 5
文章目录一 动态规划类型题的初步理解1.斐波那锲数列(1)迭代的方式(2)递归的方式(map进行剪枝效果)2.兔子繁衍问题3.青蛙跳台阶问题4.小矩形覆盖大矩形的问题二. 二叉树镜像变换三. 在一个排序的单链表,存在重复的节点,删除重复的。四.博主,再来一碗“鸡汤”!一 动态规划类型题的初步理解动态规划是相对比较难理解的类型题,这期博客先给大家分享一些典型的动态规划的类型小题,希望在我的帮助下,大家会对于动态规划有些初步的认识,在后续的系列中,会继续为大家进一步剖析动态规划的相关习题。动态规划我们需要原创 2022-04-20 15:38:58 · 238 阅读 · 5 评论