![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
刷题
文章平均质量分 72
leetcode
芒果再努力
逐梦需要勇气和毅力
展开
-
【算法】二分相关题目
二分算法相关题目原创 2023-10-02 20:47:54 · 148 阅读 · 0 评论 -
【算法】位运算题目总结
位运算常见&高级题目原创 2023-10-02 20:46:38 · 188 阅读 · 0 评论 -
【算法】递归(高阶题目) -随时补充
n个圆盘从下面开始按大小顺序摆放在A柱子上,规定:任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘,求最少的移动步骤。1.使用一个轨迹数组:保存每一行皇后存放的位置,每一行只填一个皇后就解决了皇后不同行的问题!母牛每年生一只母牛,新出生的母牛三年后也可以每年生一只母牛,假设母牛不会死,最开始母牛是A(就一个牛),求N年后母牛数量。子序列:在字符串当中任意的选取字符,可以不连续选取,最后形成的字符串称为子序列。全排列:字符串当中的所有字符都得选取,只能决定每个字符的顺序不一样。原创 2023-09-27 20:54:34 · 98 阅读 · 0 评论 -
【算法】迷宫问题
迷宫问题本质就是一个图的遍历问题,从起点开始不断四个方向探索,直到走到出口,走的过程中我们借助栈记录走过路径的坐标。栈记录坐标有两方面的作用,一方面是记录走过的路径,一方面方便走到死路时进行回溯找其他的通路。原创 2023-09-19 21:41:45 · 1674 阅读 · 0 评论 -
【数据结构】栈和队列常见题目
此乃本人自用版本,用于复习回顾!所以部分题目不会有过大详细的解析,不懂的可以评论!笔者将竭力为你解答。原创 2023-08-18 21:05:08 · 740 阅读 · 0 评论 -
【数据结构】链表常见题目
此乃本人自用版本,用于复习回顾!所以部分题目不会有过大详细的解析,不懂的可以评论!笔者将竭力为你解答。原创 2023-08-16 17:53:21 · 549 阅读 · 0 评论 -
【数据结构】二叉树常见题目
此乃本人自用版本,用于复习回顾!所以部分题目不会有过大详细的解析,不懂的可以评论!笔者将竭力为你解答。原创 2023-08-11 10:45:32 · 1249 阅读 · 0 评论 -
【算法】动态规划-简单多状态问题
*做法:**先预处理:将数组当中的所有数,统计到arr数组当中,在arr数组当中做打家劫舍问题,arr[i]:表示i这个元素在原数组当中,出现的次数 * i位置的值的和。如果i-1天处于买入状态,那么第i天可以处于冷冻期,只需要在第i天把股票卖出,得到卖出的价格price[i],那么只要在第i天结束之后,那就处于冷冻期了。3.如果i-1天处于可交易期,那么只需要在第i天 买了当天的股票(花费price[i]) ,那么在第i天结束之后可以处于买入状态。**过滤器: 如果K>= N/2 等同于交易次数无限!原创 2023-06-23 23:53:50 · 149 阅读 · 1 评论 -
【算法】动态规划-斐波那契模型
必须要0位置和1位置都能单独解码,此时才算1种解码方法,例如: 06,此时1位置是能单独解码的,但是由于0位置不能单独解码!,此时没有解码方法,dp[0] = 0。如果不是字符0,那么可以解码成功,dp[0] = 1。之间,说明前两个字符可以构成一种解码方法 dp[1] += 1。case2:i位置和i-1位置的数结合,共同解码成一个字母。假设i位置的字符为a,i-1位置的字符为b。对于dp[0]: 如果0位置的字符是。如果0位置和1位置的字符结合后的数在。需要初始化dp表0位置和1位置的值。原创 2023-06-15 21:11:14 · 631 阅读 · 0 评论 -
【算法】剑指offer-青蛙跳台阶&&矩形覆盖
剑指offer-青蛙跳台阶&&矩形覆盖原创 2022-10-08 16:10:50 · 188 阅读 · 26 评论 -
【算法】剑指offer-删除链表中重复的节点&&最小栈
剑指offer-删除链表中重复的节点&&最小栈原创 2022-11-01 20:44:22 · 270 阅读 · 1 评论 -
【算法】剑指offer-字符串替换&&打印链表
字符串替换&&打印链表原创 2022-10-04 09:43:56 · 313 阅读 · 20 评论 -
【算法】剑指offer-栈的压入,弹出序列&&从上到下打印二叉树
剑指offer-栈的压入,弹出序列&&从上到下打印二叉树原创 2022-11-04 23:23:51 · 171 阅读 · 1 评论 -
【算法】剑指offer-树的子结构&&二叉树的镜像
剑指offer-树的子结构&&二叉树的镜像原创 2022-10-20 20:46:41 · 114 阅读 · 1 评论 -
【算法】剑指offer-重建二叉树&&斐波那契数列
剑指offer-重建二叉树&&斐波那契数列原创 2022-10-06 17:50:22 · 414 阅读 · 42 评论 -
【算法】剑指offer-反转链表&&有序链表的合并
剑指offer-反转链表&&有序链表的合并原创 2022-10-13 14:26:38 · 252 阅读 · 5 评论 -
【算法】剑指offer-杨氏数组&&旋转数组
杨氏数组&&旋转数组原创 2022-09-30 10:56:02 · 226 阅读 · 31 评论 -
【算法】剑指offer-调整数组顺序&&数组出现超过一半的数字
调整数组顺序&&数组出现超过一半的数字原创 2022-10-02 16:45:17 · 509 阅读 · 26 评论 -
【算法】剑指offer-整数中1的个数&&链表的倒数第k个节点
剑指offer-整数中1的个数 && 链表倒数第k个节点原创 2022-10-10 17:09:31 · 273 阅读 · 13 评论 -
【算法刷题】有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来-两数之和
【算法刷题】有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来-两数之和原创 2022-09-28 23:58:53 · 202 阅读 · 26 评论 -
【算法刷题】链表篇-删除链表中的重复节点
删除链表中的重复节点原创 2022-09-22 11:48:13 · 1043 阅读 · 39 评论 -
【算法刷题】链表篇-链表的回文结构
链表的回文结构原创 2022-09-18 09:27:39 · 434 阅读 · 34 评论 -
【牛客】手撕KY11 二叉树遍历 (用字符串构建二叉树)
描述编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。输入描述:输入包括1行字符串,长度不超过100。输出描述:可能有多组测试数据,对于每组数据, 输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。 每个输出结果占一行。这是一个IO型的OJ题->要我们自己写main,自己写头文原创 2022-06-03 22:46:59 · 1049 阅读 · 46 评论 -
五一当天-浅浅学个链表分割吧
文章目录题目要求思路代码:题目要求链接:链表分割_牛客题霸_牛客网 (nowcoder.com)即:把结点的值小于x的放在左边,大于x的放在右边。相对顺序不可以改变如果是不需要考虑相对顺序,左边存比x小的结点,右边存大于等于x的结点思路:创建一个新链表,定义头尾指针,方便头插和尾插定义指针cur,用于遍历原链表如果cur指向的值比x小:头插到新链表 ->更新头指针 否则尾插到新链表 ->更新尾指针思路创建两个带哨兵位的链表一个用于存放值小于x原创 2022-05-01 22:35:42 · 1160 阅读 · 3 评论 -
寒假必须学会的-环形链表找入环点问题
题目要求链接:142. 环形链表 II - 力扣(LeetCode) (leetcode-cn.com)思路:根据环形链表1:快慢指针fast一次走两步,slow一次走一步,如果存在环,fast和slow一定会相遇如何找入环点结论:第一步:fast一次走两步,slow一次走一步。找到相遇点记为meetnode第二步:一个指针head从链表的头开始走,meetnode也在环内不断走,二者都是一次走一步。当head和meetnode相遇时:此时就是入环点证明过程:原创 2022-01-14 23:21:27 · 420 阅读 · 9 评论 -
超详细带你手把手解决环形链表问题_
题目要求链接:141. 环形链表 - 力扣(LeetCode) (leetcode-cn.com)链表带环方法:快慢指针思路:定义两个指针,一个为fast 一个为slowfast和slow从头开始遍历,fast每次走两步,slow每次走一步如果存在环,fast和slow一定会相遇若无环时:奇数个结点:fast->next == NULL结束偶数个结点:fast == NULL结束而若有环,fast->next 和fast永远不为原创 2022-01-08 13:45:38 · 1179 阅读 · 36 评论 -
舍友洗了个澡,我就解决了相交链表问题
题目要求链接:160. 相交链表 - 力扣(LeetCode) (leetcode-cn.com)注意:相交链表是Y形状的,不是X形状的。一个结点只有一个next指向如何判断相交:方法:比较两个链表的尾结点地址是否一致相交和不相交的不同之处相交:两个链表从相交结点开始,后面的结点的地址一致==>尾结点相同不相交:两个链表的所有结点的地址都是不相同的所以只需要遍历两个链表,找到两个链表的尾结点,然后比较是否相等。如果相等则进行下一步,找相交起始节点。如果不相等 -原创 2022-01-03 10:50:24 · 9543 阅读 · 106 评论 -
舍友仅仅上了个厕所,我就求出了链表的倒数第K个结点
文章目录题目要求方法1:统计长度代码方法2:双指针代码题目要求链接 :链表中倒数第k个结点_牛客题霸_牛客网 (nowcoder.com)本题目和博主曾经写过的:是一样的套路!感兴趣的老铁可以翻过去看一下!舍友仅仅打了一把游戏,我就学会了如何找链表的中间结点方法1:统计长度思路第一步:遍历链表得出链表的长度,记为size,如果k大于链表的长度,不可能找到 。返回NULL第二步:从头开始走 size - k 步,就是倒数的第K个结点从头开始走:倒数第K个结点的位置是原创 2021-12-30 22:28:03 · 5354 阅读 · 45 评论 -
舍友仅仅打了一把游戏,我就学会了如何找链表的中间结点
文章目录题目要求方法1:统计长度 走两遍方法2:快慢指针题目要求链接:876. 链表的中间结点 - 力扣(LeetCode) (leetcode-cn.com)方法1:统计长度 走两遍思路:第一步:从头遍历一遍链表得出链表的长度,记为size第二步:从头开始走,走 mid = size/2步 就是链表的中间结点whle( mid--) ==>这样是循环mid次while(--mid) ==>这样是循环mid-1次无论是奇数个结点还是偶数个结点都合原创 2021-12-26 20:30:24 · 12583 阅读 · 86 评论 -
摸鱼时卷王在疯狂刷题,这我可忍不了-<移除链表元素>
题目要求链接:https://leetcode-cn.com/problems/remove-linked-list-elements/description/解题思路遍历链表进行对比,判断是不是要删除的结点要保存释放结点的下一个结点,所以要定义两个指针。不然就找不到下一个结点了cur:用于遍历链表,初始化 : 指向头结点prev :保存cur的上一个结点 初始化为:NULL如果cur指向的是要删除的结点:先保存下一个结点 prev->next = cur->原创 2021-12-24 09:10:53 · 1328 阅读 · 42 评论 -
【漫步刷题路】 - 合并两个有序链表
题目要求链接:21. 合并两个有序链表 - 力扣(LeetCode) (leetcode-cn.com)方法1:使用头指针思路:假设两个链表分别为l1和l2,l1和l2都是有序的因为要 排成升序,把l1和l2指向的结点的较小的尾插到新链表由于是尾插到新链表:为了方便,可以定义两个指针,一个新链表的头,一个指向新链表的尾这里使用的是头指针的写法:首先:我们应该提前把l1和l2中的较小结点,尾插下来当头结点,更新尾指针然后l1和l2继续向后比较,找到把小的尾插下去,然后更新尾指针原创 2021-12-19 14:28:54 · 1068 阅读 · 44 评论 -
【漫步刷题路】- 找到两个二进制序列不同位有几位
目录题目要求方法1:遍历两个二进制序列,每一位比较是否相等方法2:使用异或题目要求找到两个二进制序列不同位有几位:方法1:遍历两个二进制序列,每一位比较是否相等int count_difer_bit(int n1, int n2){ int count = 0; int i = 0; //4个字节:32位,所以比较次数:32次 for (i = 0; i < 32; i++) { //两个数的二进制序列对应比特位与上1之后进行比较.原创 2021-12-15 14:45:44 · 1061 阅读 · 6 评论 -
【漫步刷题路】-交换二进制的奇数位和偶数位
交换二进制的奇数位和偶数位-位运算的方法原创 2021-12-14 08:50:24 · 1053 阅读 · 20 评论 -
【漫步刷题路】- 模拟实现abs()
模拟实现abs()讲解原创 2021-12-16 10:20:37 · 1425 阅读 · 20 评论 -
【漫步刷题路】-位运算x&(-x)的妙用
位运算 x &(-x)作用讲解 +实例原创 2021-12-12 14:49:54 · 1989 阅读 · 28 评论 -
【漫步刷题路】-位运算-求1到n异或的结果
求1-n异或的结果要求异或的特点分析:找规律规律总结:代码原创 2021-12-11 14:50:58 · 1299 阅读 · 16 评论 -
【漫步刷题路】-模拟实现offsetof
模拟实现offsetof库函数原创 2021-12-13 11:19:33 · 630 阅读 · 29 评论 -
【漫步刷题路】-找到数组中唯一成对出现的数字
目录题目要求相似题目方法代码题目要求1 -n 个数,数的范围是:1-> n-1,无序放在n+1个空间的数组中,数组中有一个数重复,找出重复的数相似题目之前博主也已经讲解过这类型的题目,也是通过异或解决,大家可以自行查看:LeetCode-消失的数字剑指offer-数组中数字出现的次数例1 3 2 4 2 放在5个空间的数组中 重复数字为2方法和找数组中只有一个数不重复基本一致 ->异或第一步:先将数组全部数进行异或,结果记为:ret第二步:将ret和1-原创 2021-12-10 21:19:31 · 512 阅读 · 6 评论 -
【漫步刷题路】-高精度算法(计算a的b次方)
目录????思想:????步骤:???? 图解????代码????注意????思想:用数组存放对应数据的商和余数,方便计算很大的数,如4的444次方等????步骤:一.开辟一个较大的数组,数组的元素最初初始化为0,数组的最后一个元素初始化为1(或者第一个元素初始化为1,如果是第一个元素初始化为1的话,就往数组下面进位,如果是最后一位元素初始化为1,那就数组上进位)二.进行循环计算和进位判断,循环次数为指数的大小,对于每一轮循环:1.遍历数组,数组的每一位元素都乘以底数2.遍历数组,判断数组原创 2021-12-09 10:58:04 · 1180 阅读 · 40 评论 -
【漫步刷题路】- 逆序字符串II
目录????题目要求:????逆置法????图解????代码????题目要求:字符串:I love you逆序后结果: you love me????逆置法假设逆置: Man Max->整体逆置: xaM naM->分别逆置 对xaM逆置:Max 对naM逆置:Man->最终结果为: Max Man????思路:先整体逆置定义两个指针,一个start,一个end,end负责移动。遇到字符串的空格就停原创 2021-12-08 08:28:17 · 912 阅读 · 42 评论