题目链接:https://leetcode-cn.com/problems/rotting-oranges 题目描述: 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜 ...
转载
2021-10-27 10:25:00
327阅读
2评论
很多团队都有这个问题,一个项目的代码本来开始设计得好好的,一段时间以后,代码就会变得难以理解,难以维护,难以修改。为什么?我一直在思考这个问题。 让我们先看一个人的情况。 1. 程序员的成长 新手的代码 新手的代码没有经验,基本不考虑代码设计,代码规模稍稍大一点则自己就乱了。 进阶者的代码 小规模的时候
转载
2022-12-02 09:59:43
190阅读
很多团队都有这个问题,一个项目的代码本来开始设计得好好的,一段时间以后,代码就会变得难以理解,难以维护,难以修改。为什么?我一直在思考这个问题。
让我们先看一个人的情况。
1. 程序员的成长
新手的代码
新手的代码没有经验,基本不考虑代码设计,代码规模稍稍大一点则自己就乱了。
进阶者的代码
小规模的时候
转载
2021-08-12 16:46:13
234阅读
# Java中的腐烂橘子问题解析
在软件开发中,尤其是涉及到图论和图算法的领域,“腐烂的橘子问题”是一个经典的示例,常用于讲解广度优先搜索(BFS)和动态模拟。通过本篇文章,我们将深入探讨此问题的定义、实现过程,并结合Java语言提供相应的代码示例。最后,我们将展示一个饼状图和一个ER图来更好地理解这个问题。
## 问题定义
腐烂的橘子问题可以用下面的场景来描述:假设你有一个用 `0`(空位
每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。返回 直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。
原创
2024-05-01 11:47:01
44阅读
题目描述:
思路:统计矩阵中新鲜橘子的个数和腐烂橘子,并把腐烂的橘子放入队列中(此题一个矩阵只有一个腐烂的橘子)
class Solution {
原创
2022-11-01 10:55:16
115阅读
一个苹果放在桌子上不理它,它会慢慢地变坏。代码也跟苹果一样,会发生代码腐烂。坏的代码就跟坏的苹果一样,会更容易发生腐烂、腐烂得更快。工作时间久了,关注的角度从个人变成了团队整体。我就会想:代码腐烂是否真的不可避免?有什么办法能够避免代码腐烂呢?代码腐烂可以避免吗?对于这个问题,我想了挺久,后面发现答案是:代码腐烂不可避免,只不过是时间问题。 虽然很沮丧,但是却认清了事物的本质,走上了一条正确的道路
原创
2022-07-22 17:34:32
88阅读
一、题目 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回直到单元格中没有新鲜橘子为止所必须经过的最小
转载
2023-06-18 00:15:34
3968阅读
题目:原题链接(中等)标签:广度优先搜索解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(M×N)O(M×N)O(M×N)O(M×N)O(M×N)O(M×N)64ms (45.32%)Ans 2 (Python)Ans 3 (Python)解法一:class Solution: def orangesRotting(self, grid: List[List[int]]) -> int: def _
原创
2021-08-26 10:28:33
105阅读
一、题目
在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一:
值 0 代表空单元格;
值 1 代表新鲜橘子;
值 2 代表腐烂的橘子。
每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。
返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1 。
二、示例
2.1> 示例 1:
【输入】grid = [[2,1,1],
原创
2023-06-13 18:40:02
1998阅读
题目:原题链接(中等)标签:广度优先搜索解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(M×N)O(M×N)O(M×N)O(M×N)O(M×N)O(M×N)64ms (45.32%)Ans 2 (Python)Ans 3 (Python)
原创
2022-02-24 15:08:13
112阅读
题目描述 难度:简单 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。 返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。 示例
原创
2021-06-03 17:44:31
247阅读
一栋楼的破败往往从一扇破窗户开始,慢慢腐朽。
原创
精选
2024-02-19 14:19:43
194阅读
struct point{ int x; int y; }; class Solution { public: int orangesRotting(vector<vector<int>>& grid) { int freshfruit = 0; queue<point> q; for(int i ...
转载
2021-10-08 16:43:00
113阅读
2评论
腐烂的橘子在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。示例 1:输入:[[2,1,1],[1,1,0],[0,1,1]]输出:4示例 2:输入:[[2...
原创
2021-06-10 17:36:45
126阅读
DFS通常用于探索或搜索路径问题,例如在迷宫中寻找路径,而更适合用BFS来搜索最短路径
原创
2024-06-20 11:21:20
0阅读
(1) 什么是好人?如果你搜索一下什么是好人?这个问题,你可能可以得到以下答案也就是
原创
2022-09-15 16:49:50
72阅读
写代码如同打扫屋子,有句话叫一屋不扫何以扫天下。如果单个的一个模块代码都不能管好,如何成就一个完善的软件系统? 今天我们来说说,一个代码模块的代码是如何一步步腐化变质,到最后程序员都不愿意去维护它,然后要么重构,要么废弃换新模块的? 代码是有一定的周期的,这个没有错。为什么有的代码跑上几十年任然好用
转载
2021-03-02 18:36:00
164阅读
2评论
在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: - 值 0 代表空单元格; - 值 1 代表新鲜橘子; - 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 `-1` 。
本文开始前,问大家一个问题,你觉得一份业务代码,尤其是互联网业务代码,都有哪些特点?我能想到的有这几点:互联网业务迭代快,工期紧,导致代码结构混乱,几乎没有代码注释和文档。互联网人员变动频繁,很容易接手别人的老项目,新人根本没时间吃透代码结构,紧迫的工期又只能让屎山越堆越大。
原创
2022-04-27 23:15:42
99阅读