目录 前言 为什么要学习复杂度? 一、 算法效率 二、时间复杂度 2.1时间复杂度概念 2.1大O的渐进表示法 2.2常见时间复杂度计算举例 三、 空间复杂度 3.1空间复杂度的概念 3.2常见空间复杂度的计算 三、常见复杂...
-
c语言 数据结构 考研 算法 leetcode 手把手带你了解时间复杂度和空间复杂度 【超详细】
-
算法 【Leetcode】移除后集合的最多元素数
目录题目描述思路总结100150. 移除后集合的最多元素数题目描述给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,它们的长度都是偶数 n 。你必须从 nums1 中移除 n / 2 个元素,同时从...
-
算法 LeetCode 92. Reverse Linked List II【链表,头插法】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能...
-
java 动态规划 数据结构 leetcode 【算法分析与设计】最短路径和
题目: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 示例 1: 输入:grid = [[1,3,1...
-
leetcode c语言 c++ 【茶话数据结构】查找最短路径——Dijkstra算法详解(保姆式详细图解,步步紧逼,保你学会)
博客内容:【茶话数据结构】查找最短路径——Dijkstra算法详解 作 者:陈大大陈 黎所属专栏:数据结构笔记 个人简介:一个正在努力学技术的准前端,专注基础和实战分享 ,欢迎私信! 欢迎大家:这...
-
算法 leetcode 数据结构 【打卡】牛客网:BM76 正则表达式匹配
模板的:关键思想是:当pattern遇到*时,需要考虑两种情况:str的当前字符和pattern的*前的字符相同,例如str=“ab”,pattern=“abb*”,“b”和“b*”相同,有两种情况可以选择:pattern的...
-
算法 动态规划 c++ leetcode 统计全为1的正方形子矩阵、最大正方形
给你一个 m * n 的矩阵,矩阵中的元素不是 0 就是 1,请你统计并返回其中完全由 1 组成的 正方形 子矩阵的个数。 示例 1: 输入:matrix = [ [0,1,1,1], [1,1,1,1], [0...
-
python 算法 【Py/Java/C++三种语言详解】LeetCode每日一题240113【贪心】LeetCode2182、构建限制重复的字符串
文章目录题目链接题目描述解题思路代码PythonJavaC++时空复杂度华为OD算法/大厂面试高频题算法练习冲刺训练题目链接LeetCode2182、构建限制重复的字符串题目描述给你一个字符串 s 和一个整数 repeatL...
-
算法 数据结构 c++ LeetCode——栈的压入、弹出序列
这里我用下面的例子子来讲解一下模拟栈的实现。 例子1:pushed = [1,2,3,4,5] popped = [4,5,3,2,1] 思路:第一步:我们先创建一个栈,然后将pushed的数据压进去 第二步:判断! 当压入...
-
数据结构 LeetCode刷题系列之----->(指针玩转链表篇)(一)
各位csdn的友友们大家好啊,也许我们在编程中被链表的各种习题搞得团团转,其实本质都离不开链表的头插,头删,尾插,尾删,看完这篇文章之后,相信你们一定会对链表有一个重新的认知,下面来一起和阿博走进链表吧 文章目录...
-
算法 职场和发展 【Leetcode】二叉树的最近公共祖先,二叉搜索树转换成排好序的双向链表,前序遍历与中序遍历构造二叉树
一.二叉树的最近公共祖先 链接 二叉树的最近公共祖先 题目再现 『Ⅰ』思路一:转换成相交链表问题 观察上图,节点1和节点4的最近公共祖先是3,这是不是很像相交链表的问题,关于相交链表,曾经我在另一篇文章里写到过,读者可以...
-
算法 数据结构 Java LeetCode篇-二叉搜索树经典解法(实现:二叉搜索树的最近公共祖先、根据前序遍历建树等)
博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞收藏⭐评论✍ 文章目录 1.0 判断合法 1.1 使用遍历方式实现验证二叉搜索树 1.2 使用递归方式实现验证二叉搜...
-
算法 职场和发展 LeetCode——两数相加
目录一、两数相加1、题目2、题目解读3、代码二、反转链表1、题目 2、题目解读3、代码 三、两数相加 II1、题目2、题目解读3、代码反转链表再进行计算借助栈一、两数相加1、题目2. 两数相加 - 力扣(Leetcode)给...
-
算法 c++ leetcode dp 【动态规划】【字符串】87扰乱字符串
作者推荐 视频算法专题 涉及知识点 动态规划 字符串 LeetCode87扰乱字符串 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止 如果字符串的长度 ˃ 1 ,执行下述步骤:...
-
算法 数据结构 leetcode刷题(9)二叉树(3)
各位朋友们,提前祝大家五一劳动节快乐啊!!!今天我为大家分享的是关于leetcode刷题二叉树相关的第三篇我文章,让我们一起来看看吧。文章目录1.二叉树的层序遍历题目要求做题思路代码实现2.从前序与中序遍历序列构造二叉树题目...
-
leetcode 数学 位运算 【动态规划】C++ 算法458:可怜的小猪
作者推荐视频算法专题涉及知识点动态规划 数学力扣458:可怜的小猪有 buckets 桶液体,其中 正好有一桶 含有毒药,其余装的都是水。它们从外观看起来都一样。为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪是否会...
-
leetcode 最大数量 硬币 【动态规划】C++算法312 戳气球
作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 动态规划 LeetCode312 戳气球 有 n 个气球,编号为0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破...
-
算法 数据结构 c语言 LeetCode 160.相交链表
文章目录 题目分析解题思路步骤一:找尾节点步骤二:判断尾节点是否相等步骤三:找交点思路1思路2 接口源码 题目链接 LeetCode 160.相交链表 题目分析 给你两个单链表的头节点 head...
-
算法 java 数据结构 动态规划 intellij-idea 【LeetCode力扣】42. 接雨水
目录 1、题目介绍 2、解题思路 2.1、暴力破解法 2.2、双指针法 1、题目介绍 原题链接: 42. 接雨水 - 力扣(LeetCode) 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1...
-
算法 leetcode 【高阶数据结构】二叉树的非递归遍历
欢迎来到数据结构专栏~~二叉树的非递归遍历(꒪ꇴ꒪(꒪ꇴ꒪ ,我是Scort目前状态:大三非科班啃C++中博客主页:张小姐的猫~江湖背景快上车,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤樂:真正的大师永远怀...
-
算法 配合AI刷leetcode 实现1170
题目如下:1170. 比较字符串最小字母出现频次难度中等定义一个函数 f(s ,统计 s 中(按字典序比较)最小字母的出现频次 ,其中 s 是一个非空字符串。例如,若 s = "dcce",那么 f(s = 2,因为字典...
-
算法 数据结构 LeetCode103
LeetCode103_ 103. 二叉树的锯齿形层序遍历一、描述给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。示例 1:输入:r...
-
算法 职场和发展 数据结构 编辑器 如何克服Leetcode做题的困境
文章目录 如何克服Leetcode做题的困境问题背景克服困境的建议实践与理论结合切忌死记硬背分析解题思路不要过早看答案迭代式学习寻求帮助坚持与耐心查漏补缺 结论 如何克服Leetcode做题的困境 问题背景 明明自觉...
-
算法 动态规划 贪心算法 【LeetCode 热题 HOT 100】题解笔记 —— Day03
❤ 作者主页:欢迎来到我的技术博客 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄ ~* 如果文章对您有帮助,记得关注、点赞、收藏、评论⭐️⭐️⭐️ 您的支持将是我创作的动力,让我们一...
-
算法 职场和发展 【Leetcode】29. 两数相除
* [29] 两数相除// 特殊情况处理// 将被除数和除数转换为负数,方便处理// 用于计算两个负数相乘的结果是否超出了 int 类型的范围。//判断 z 是否为奇数//用于计算两个负数相乘的结果是否超出了 int 类型的...
-
算法 leetcode
代码随想录计划Day 23–回溯算法组合总和组合总和这个和之前的组合系列都是类似的,唯一要注意的就是这里的元素可以重复使用。本来以为不需要 start 来标注开始位置了,不过没有start标注位置会出现重复的组合所以仍然需要...
-
leetcode 算法 力扣经典面试题——搜索旋转排序数组及最小值(二分搜索旋转数组系列一次搞定)
我们先来看看一个常规的二分搜索是如何进行的? 例如要找一个有序数组的某个数 【1,2,4,5,9,11,15,19】 我们要找11,每次我们分割半边判断然后看到底在哪一边。 这里为什么我们可以直接砍掉半边?因为数组有序,如果...
-
算法 java 【LeetCode】挑战100天 Day4(热题+面试经典150题)
【LeetCode】挑战100天 Day4(热题+面试经典150题)一、LeetCode介绍二、LeetCode 热题 HOT 100-62.1 题目2.2 题解三、面试经典 150 题-63.1 题目3.2 题解一、Lee...
-
c语言 【数据结构】如何设计循环队列?图文解析(LeetCode)
LeetCode链接:622. 设计循环队列 - 力扣(LeetCode)目录做题思路只开辟 k 个空间多开一个空间代码实现1. 循环队列的结构2. 开辟空间3. 判断空4. 判断满5. 队尾插入数据6. 队头删除数据7....
-
算法 leetcode 代码随想录 - 二叉树的各种遍历方法(Java)
二叉树的遍历方式分类二叉树主要有两种遍历方式:深度优先遍历:先往深走,遇到叶子节点再往回走。 前序遍历(递归法,迭代法)中左右 中序遍历(递归法,迭代法)左中右 后序遍历(递归法,迭代法)左右中 这里的前中后是指中间节点的遍...
-
算法 数据结构 LeetCode 热题100——链表专题(一)
一、俩数相加2.俩数相加(题目链接)思路:这题题目首先要看懂,以示例1为例 即 342+465=807,而产生的新链表为7-˃0-˃8.可以看成简单的从左向右,低位到高位的加法运算,4+6=10,逢10进1,新链表第三位...
-
刷题 每日一题:LeetCode-LCR 016. 无重复字符的最长子串
每日一题系列(day 15)前言: 如果说代码有灵魂,那么它的灵魂一定是算法,因此,想要写出优美的程序,核心算法是必不可少的,少年,你渴望力量吗,想掌握程序的灵魂吗❓❗️那么就必须踏上这样一条漫长的道...
-
算法 Leetcode 常见报错原因之 heap-buffer-overflow on address 和 reference binding to misaligned address
对数组进行操作时,一定要注意数组的可索引范围,保证数组不发生越界。在 Leetcode 中数组越界会给出如下几种报错信息:报错信息:报错原因: AddressSanitizer 被用来检查内存的非法访问,在 leetcode...
-
leetcode 算法 数据结构 力扣打卡第一天
153. 寻找旋转排序数组中的最小值 提示 中等 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若...
-
算法 leetcode面试经典二分系列刷题心得
闲来无事巩固算法基础,发现自己的二分几乎从来没系统刷过题,基础很是薄弱。 二分法不愧称为新人杀手,刷起来很是吃力,感觉明明学了几套二分模板,但是却不知道如何去运用,很多读者在初次尝试刷二分题时候,想必多数也是深有此体会,力扣...
-
c语言 算法 leetcode每日一题——45.跳跃游戏II(面试经典150题)
一、题目描述与要求 45. 跳跃游戏 II - 力扣(LeetCode) 题目描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长...
-
算法 【LeetCode周赛】第373场周赛
LeetCode第373场周赛 2946. 循环移位后的矩阵相似检查 简单2947. 统计美丽子字符串 I 中等2948. 交换得到字典序最小的数组 中等2949. 统计美丽子字符串 II 困难 2946. 循环移位后的矩...
-
算法 动态规划 Leetcode:349. 两个数组的交集【题解超详细】
题目 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 难度:简单 题目链接:349.两个数组的交集 示例 1: 输入:nums1...
-
算法 数据结构 【LeetCode每日一题】——304.二维区域和检索-矩阵不可变
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 矩阵 二【题目难度】 中等 三【题目编号】 304.二...
-
算法 【Leetcode01】两数之和(Python实现)
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出...
-
学习 笔记 LeetCode 27.移除元素
移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1 额外空间并 原地 修改输入数组。 元素的顺序可...
-
leetcode 算法 职场和发展 【力扣题解】1217. 玩筹码
博主目前也在学习,有错误欢迎指正 保持热爱 奔赴星海 文章目录 一、题目1、题目描述2、基础框架3、原题链接 二、解题报告1、思路分析2、代码详解 一、题目 1、题目描述 有 n 个筹码。第 i 个芯片的...
-
线性代数 数据结构 leetcode c++ 【1572. 矩阵对角线元素的和】
来源:力扣(LeetCode) 描述: 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat = [[1,2,3],输出:...
-
leetcode c++ 算法(3)——二分查找
一、什么是二分查找 二分查找也称折半查找,是在一组有序(升序/降序 的数据中查找一个元素,它是一种效率较高的查找方法。 二、二分查找的原理 1、查找的目标数据元素必须是有序的。没有顺序的数据,二分法就失去意义。 2、数...
-
windows 【算法练习】leetcode算法题合集之二叉树篇
递归遍历基础篇 前序遍历,中序遍历,后序遍历是根据处理根节点的位置来命名的。 树的处理大多用到了递归,递归需要知道终止条件。 前序遍历(中左右) 144.二叉树的前序遍历 中左右,先处理根节点,再处理左子树,再处理右子...
-
数据结构 链表 c语言 leetcode 面试题 02.02. 返回倒数第k个节点
提建议就是,有些题还是有联系的,建议就收看完 876.链表的中间节点(http://t.csdnimg.cn/7axLa),再将这一题联系起来 面试题 02.02. 返回倒数第k个节点 题目: 实现一种算法,找出单向链表...
-
算法 leetcode回溯问题总结 Python
目录 一、理论基础 二、例题 1. 排列问题 (1)无重复元素的排列问题 (2)有重复元素的排列问题 2. 组合问题 (1)无重复元素的组合问题 (2)无重复元素的子集问题 (3)有重复元素的子集问题 (4)元素之和等于固定...
-
算法 数据结构 c++ labuladong日常刷题-递归魔法 | LeetCode 25K个一组翻转链表 234回文链表 | 双指针 167两数之和-II 输入有序数组
递归(迭代 操作链表 LeetCode 25 K个一组翻转链表 2023.12.27 题目链接labuladong讲解[链接] //当k为1时不反转,那么将head直接返回 //递归退出条件,当前不够k个节点...
-
算法 数据结构 c语言 LeetCode 142.环形链表II
文章目录 题目分析解题思路深度思考接口源码 题目链接 LeetCode 142.环形链表II 题目分析 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。...
-
leetcode 职场和发展 【算法】【单调栈、Python3】力扣1944. 队列中可以看到的人数
1944. 队列中可以看到的 文章目录 单调栈介绍为什么需要单调栈?单调栈的基本思想单调栈的应用 题目描述示例示例 1:示例 2: 思路解析代码迭代部分解释:代码复杂度分析总结 单调栈介绍 单调栈是...