草庐IT

leedcode刷题(4)

全部标签

Leetcode刷题之复制带随机指针的链表

生命不是安排,而是追求,人生的意义也许永远没有答案,但也要尽情感受这种没有答案的人生。                                                          --弗吉尼亚. 伍尔芙     目录前言:🌸一.复制带随机指针的链表🌅1.复制结点链接到原本链表每一个结点的后面🍁2.让原结点的random索引到新结点的random上 🌺3.先把原链表给链接起来,然后再开始把复制出来的结点给尾插,组成我们复制出来的链表4.完整代码构造这个链表的 深拷贝。 深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和ran

leetcode刷题(10)二叉树(4)

各位朋友们,大家五一劳动节快乐啊,在这里祝大家假期玩得愉快!但是在玩耍的期间不要忘记了敲代码哦。今天我为大家分享的是二叉树的第四篇,废话不多说,我们一起来看看吧。文章目录二叉树的最近公共祖先题目要求做题思路方法一代码实现方法二代码实现根据二叉树创建字符串题目要求做题思路二叉树的最近公共祖先leetcode之二叉树的最近公共祖先(难度:中等)题目要求给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”示例1:输入:root=[3

第10天-代码随想录刷题训练-第五章 栈和队列- ● 理论基础 ● 232.用栈实现队列 ● 225. 用队列实现栈

文章目录1.理论基础2.用两个栈实现队列3.两个队列实现栈1.理论基础栈和队列对应的三个不同的STL版本,底层实现方式不一样,为我们所知道的是SGISTL栈栈提供pop和push等接口,不提供走访功能也不提供迭代器,不像map和set可以使用迭代器遍历,往往不被归类为容器,而是容器适配器栈的内部实现结构可以使用verctor、list和deque(默认)可以在初始化的时候指定使用哪种底层实现std::stackint,std::vectorint>>third;//使用vector为底层容器的栈std::queueint,std::listint>>third;//定义以list为底层容器的队

抓住金三银四的尾巴,解锁程序员面试《刷题神器》

点赞➕评论➕收藏=三连再看你最帅刷题不仅能掌握知识,快速学习进步。更能轻松搞定面试,尤其是有的大厂钟爱问算法题,你不刷就不会,就会被pass。同时,刷题能陶冶情操,避免老年痴呆😋🍋1、刷题的操作方法刚开始的新手,无论是算法篇,SQL,还是前端题目,可能都不会,那你可以先想想思路,然后再看看题解里的大神是怎么实现的。对于有一定经验的刷题者,一定要逼自己想出来!然后再去看题解,这样才能豁然开奖,记忆深刻,真实掌握。🍞2、刷题的路径刷题网站有很多,推荐一个我常用的:算法篇(398题):面试必刷100题、算法入门、面试高频榜单SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题大厂笔

蓝桥杯·3月份刷题集训Day02

本篇博客旨在记录自已打卡蓝桥杯3月份刷题集训,同时会有自己的思路及代码解答希望可以给小伙伴一些帮助。本人也是算法小白,水平有限,如果文章中有什么错误之处,希望小伙伴们可以在评论区指出来,共勉💪。文章目录集训AA1、刷题统计A2、天干地支A3、递增序列集训BB1、123B2、答疑集训CC1、包子凑数C2、背包与魔法C3、本质上升队列最后集训AA1、刷题统计题目:小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做a道题目,周六和周日每天做b道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于n题?输入格式:输入一行包含三个整数a,b和n.输出格式:输出一个整数代表天数。样

蓝桥杯·3月份刷题集训Day02

本篇博客旨在记录自已打卡蓝桥杯3月份刷题集训,同时会有自己的思路及代码解答希望可以给小伙伴一些帮助。本人也是算法小白,水平有限,如果文章中有什么错误之处,希望小伙伴们可以在评论区指出来,共勉💪。文章目录集训AA1、刷题统计A2、天干地支A3、递增序列集训BB1、123B2、答疑集训CC1、包子凑数C2、背包与魔法C3、本质上升队列最后集训AA1、刷题统计题目:小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做a道题目,周六和周日每天做b道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于n题?输入格式:输入一行包含三个整数a,b和n.输出格式:输出一个整数代表天数。样

Leetcode刷题day2|数组二|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

文章目录一、有序数组的平方错误的尝试思路注意AC代码暴力版本双指针方法二、长度最小的子数组错误的尝试思路滑动窗口介绍注意AC代码三、螺旋矩阵错误的尝试思路注意AC代码继承前边循环变量的写法不继承前边循环变量的做法四、数组做题思路总结基本知识解题思路一、有序数组的平方题目链接错误的尝试一开始尝试双指针+原地完成(即空间复杂度为O(1))。将所有的情况分成了全部大于等于0,全部小于等于0,有正有负三种情况,提出的对应方案是直接平方、平方并反转【用临时变量交换两端值,但是有三种情况老是同时解决只有一个、偶数个的情况、奇数个情况】、双指针【左边和右边绝对值比较,但是0和0挨着的情况总是需要特殊处理】。

【华为机试刷题笔记】HJ39-判断两个IP是否属于同一子网

题目描述IP地址是由4个0-255之间的整数构成的,用"."符号相连。二进制的IP地址格式有32位,例如:10000011,01101011,00000011,00011000;每八位用十进制表示就是131.107.3.24子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。子网掩码与IP地址结构相同,是32位二进制数,由1和0组成,且1和0分别连续,其中网络号部分全为“1”和主机号部分全为“0”。你可以简单的认为子网掩码是一串连续的1和一串连续的0拼接而成的32位二进制数,左边部分都是1,右边部分都是0。利用子网掩码可以判断两台主机是否在同一子网中。若两台主机的IP地址分别与

蓝桥杯刷题第二十三天

第一题:长草题目描述小明有一块空地,他将这块空地划分为n行m列的小块,每行和每列的长度都为1。小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小块空地扩展,这四小块空地都将变为有草的小块。请告诉小明,k个月后空地上哪些地方有草。输入描述输入的第一行包含两个整数n,m。接下来n行,每行包含m个字母,表示初始的空地状态,字母之间没有空格。如果为小数点,表示为空地,如果字母为g,表示种了草。接下来包含一个整数k。其中2≤n,m≤1000,1≤k≤1000。输出描述输出n行,每行包含m个字母,表

第23天-代码随想录刷题训练-第六章 ● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

文章目录1.修剪二叉搜索树2.将有序数组转换为二叉搜索树3.把二叉搜索树转换为累加数1.修剪二叉搜索树-LeetCode链接给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low,high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。classSolution{public:TreeNode*trimBST(TreeNode*root,intlow,inthi