
算法
元嘉草草03
这个作者很懒,什么都没留下…
展开
-
LeetCode算法入门 day9 广度优先搜索 / 深度优先搜索
头一次打算完完整整不看题解自己写完,但是高估了自己,写了好久好久,实在搞不出来就找别人的代码看。话说为什么用c++不行,改成Java就行了呢,难搞。给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。返回 直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。两个相邻元素间的距离为 1。值 2 代表腐烂的橘子。值 1 代表新鲜橘子;原创 2023-03-22 16:51:06 · 176 阅读 · 0 评论 -
LeetCode算法入门 day8 广度优先搜索 / 深度优先搜索
想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。注意: 合并过程必须从两个树的根节点开始。原创 2023-03-21 23:54:54 · 225 阅读 · 0 评论 -
LeetCode算法入门 day7 广度优先搜索/深度优先搜索
为了完成 上色工作 ,从初始像素开始,记录初始坐标的 上下左右四个方向上 像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应 四个方向上 像素值与初始坐标相同的相连像素点,……岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。计算并返回 grid 中最大的岛屿面积。原创 2023-03-21 19:36:56 · 233 阅读 · 0 评论 -
LeetCode算法入门 day6 滑动窗口
给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true;否则,返回 false。给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。换句话说,s1 的排列之一是 s2 的 子串。原创 2023-03-17 10:56:28 · 211 阅读 · 1 评论 -
LeetCode算法入门 day5 双指针
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。1.使用双指针,快指针走两步,慢指针走一步。2.记录链表的长度len,输出len/2的。原创 2023-03-17 00:39:16 · 158 阅读 · 0 评论 -
LeetCode算法入门 day4 双指针
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。注意条件:不能分配额外的空间,必须原地修改输入数组。原创 2023-03-15 23:03:26 · 197 阅读 · 0 评论 -
LeetCode算法入门 day3 双指针
算法原创 2023-03-15 20:12:31 · 193 阅读 · 0 评论 -
LeetCode动态规划入门 day1
动态规划原创 2023-03-09 21:26:40 · 74 阅读 · 0 评论 -
LeetCode算法入门day2 双指针
算法原创 2023-03-09 20:34:21 · 72 阅读 · 0 评论 -
LeetCode算法入门 day1 二分查找
算法原创 2023-03-08 17:37:23 · 73 阅读 · 0 评论