代码编织梦想

算法-轮转数组-爱代码爱编程

文章目录 1. 轮转数组2. 解法 1. 轮转数组 给定一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。LeetCode 原题 例如: 输入: nums = [1,2,3,4,5,6

leetcode209长度最小的子数组-爱代码爱编程

LeetCode209长度最小的子数组 题意:给定一个含有n个整数的数组,一个正整数target,找出该数组中满足大于等于target的长度最小的连续组数组,并返回长度,若无则返回0。 eg:target=7,nums=[2,3,1,2,4,3] 返回2 连续子数组[4,3]满足最佳条件,是最短的子数组,仅有两位,[2,3,1,2]长度为4,大于

leetcode59-螺旋数组 ||-爱代码爱编程

这道题耗费了蛮时间,但彻底理解后感觉也不过尔尔,涉及到了一些不太了解的知识点,算是查漏补缺吧,哦不,是补缺,没有查漏哈哈哈!小菜鸡呜呜。 那么来说一下这道题的题目大意先,题目意思就是给出一个数n,然后输出一个n²的矩阵,按顺时针在矩阵里排列。 题目: 给你一个正整数n ,生成一个包含 1到n2的平方所有元素,且元素按顺时针顺序螺旋排列的 n x

105、【树与二叉树】leetcode ——530. 二叉搜索树的最小绝对差:中序遍历递归法+迭代法(c++版本)-爱代码爱编程

题目描述 原题链接:530. 二叉搜索树的最小绝对差 解题思路 利用BST的特性,采用中序遍历的方式,可以得到单调递增的元素。 1、递归法(中序遍历) /** * Definition for a bin

104、【树与二叉树】leetcode ——98. 验证二叉搜索树:递归法[先序+中序+后序]+迭代法(c++版本)-爱代码爱编程

题目描述 原题链接:98. 验证二叉搜索树 解题思路 BST的特点是:当前结点的值,比左子树中的全部结点都大,比右子树中全部结点都小。在代码实现中,要注意不要对比的是某一结点和某一侧的全部值之间的关系,不能只有

数组leetcode27-移除元素-爱代码爱编程

首先我们简要看一下题目描述: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素 示例 输入:nums = [3,2,2,3], val

86、【栈与队列】leetcode ——39. 滑动窗口最大值:单调队列+滑动窗口(c++版本)-爱代码爱编程

题目描述 239. 滑动窗口最大值 一、单调队列+滑动窗口方法 本题的特点是维护一个窗口,在窗口不断向前移动时,获取其中的最大值。由于窗口在向前移动过程中,元素存在着进入和出去的连续顺序,与FIFO的特点类似。

84、【栈与队列】leetcode ——1047. 删除字符串中的所有相邻重复项:栈+双指针解法(c++版本)-爱代码爱编程

题目描述 原题链接:1047. 删除字符串中的所有相邻重复项 解题思路 一、栈顶匹配重复元素 本题需要删除重复且相邻元素,存入不重复元素。根据相邻特点,可采用栈进行实现。 当栈顶元素和遍历的字符串中的字符相同时

leetcode54.螺旋矩阵&& leetcode59.螺旋矩阵Ⅱ | 螺旋矩阵问题-爱代码爱编程

LeetCode刷题记录 文章目录 LeetCode54.螺旋矩阵思路代码 LeetCode59 螺旋矩阵Ⅱ思路代码 LeetCode54.螺旋矩阵 给你一个 m 行 n 列的

leetcode498. 对角线遍历-爱代码爱编程

LeetCode刷题记录 文章目录 📜题目描述💡解题思路⌨C++代码 📜题目描述 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。

74、【数组】leetcode——18. 四数之和(c++版本)-爱代码爱编程

题目描述 原题链接:18. 四数之和 解题思路 思路与三数之和:15. 三数之和,区别之处在于: 1、多一层for循环,用于多加一个数。 四数之和就是在三数之和多加一个数,用前两个数相加,后面两个数继续作为双指

73、【数组】leetcode——15. 三数之和(c++版本)-爱代码爱编程

题目描述 原题链接:15. 三数之和 解题思路 本题的难点在于去重,针对两种不同的方式:双指针和Hash,采用不同的去重判定条件。 1、去重的目标 要明确,去重的是重复三元组,而不是三元组里重复的数。 2、

77、【字符串】leetcode ——151. 反转字符串中的单词(c++版本)-爱代码爱编程

题目描述 原题链接:151. 反转字符串中的单词 解题思路 先预处理头部空格和中间多余空格;再将整体进行逆转。例如:the sky is blue —> eulb si yks eht;最后,分别对每个单词

76、【字符串】剑指 offer ——05. 替换空格(c++版本)-爱代码爱编程

题目描述 原题链接:剑指 Offer 05. 替换空格 解题思路 一、暴力解法 每出现一个空格,就出三个空位置,然后再填充字符。 class Solution { public: string repla

java描述 leetcode,239. 滑动窗口最大值-爱代码爱编程

𝑰’𝒎 𝒉𝒉𝒈, 𝑰 𝒂𝒎 𝒂 𝒈𝒓𝒂𝒅𝒖𝒂𝒕𝒆 𝒔𝒕𝒖𝒅𝒆𝒏𝒕 𝒇𝒓𝒐𝒎 𝑵𝒂𝒏𝒋𝒊𝒏𝒈, 𝑪𝒉𝒊𝒏𝒂. 🏫 𝑺𝒉𝒄𝒐𝒐𝒍: 𝑯𝒐𝒉𝒂𝒊 𝑼𝒏𝒊𝒗𝒆𝒓𝒔𝒊𝒕𝒚🌱 𝑳𝒆𝒂𝒓𝒏𝒊𝒏𝒈: 𝑰’𝒎 𝒄𝒖𝒓𝒓𝒆𝒏𝒕𝒍𝒚 𝒍𝒆𝒂𝒓𝒏

java描述 leetcode,15. 三数之和-爱代码爱编程

𝑰’𝒎 𝒉𝒉𝒈, 𝑰 𝒂𝒎 𝒂 𝒈𝒓𝒂𝒅𝒖𝒂𝒕𝒆 𝒔𝒕𝒖𝒅𝒆𝒏𝒕 𝒇𝒓𝒐𝒎 𝑵𝒂𝒏𝒋𝒊𝒏𝒈, 𝑪𝒉𝒊𝒏𝒂. 🏫 𝑺𝒉𝒄𝒐𝒐𝒍: 𝑯𝒐𝒉𝒂𝒊 𝑼𝒏𝒊𝒗𝒆𝒓𝒔𝒊𝒕𝒚🌱 𝑳𝒆𝒂𝒓𝒏𝒊𝒏𝒈: 𝑰’𝒎 𝒄𝒖𝒓𝒓𝒆𝒏𝒕𝒍𝒚 𝒍𝒆𝒂𝒓𝒏

leetcode303.区域和检索 - 数组不可变-爱代码爱编程

LeetCode刷题记录 文章目录 📜题目描述💡解题思路⌨C代码 📜题目描述 给定一个整数数组 nums,处理以下类型的多个查询: 计算索引 left 和 right (包含 left 和

leetcode661.图片平滑器-爱代码爱编程

LeetCode刷题记录 文章目录 📜题目描述💡解题思路⌨C语言代码 📜题目描述 图像平滑器 是大小为 3 x 3 的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格

65、【数组】acwing 800. 数组元素的目标和——滑动窗口(c++版本)-爱代码爱编程

题目描述 解题思路 先通过暴力解,可以得到答案输出。因A和B各自具有单调性(单调递增),因此可利用A和B的单调性,分别从A的头部和B的尾部移动,当找到Ai + Bj > x时,移动B的右端指针,往左移。当找

leetcode 598 范围求和Ⅱ-爱代码爱编程

LeetCode刷题记录 文章目录 📜题目描述💡解题思路⌨C++代码 📜题目描述 给你一个 m x n 的矩阵 M ,初始化时所有的 0 和一个操作数组 op ,其中 ops[i] = [