数据结构与算法之深入解析“摘樱桃”的求解思路与算法示例
Posted ╰つ栺尖篴夢ゞ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法之深入解析“摘樱桃”的求解思路与算法示例相关的知识,希望对你有一定的参考价值。
一、题目要求
- 一个 N x N 的网格(grid)代表了一块樱桃地,每个格子由以下三种数字的一种来表示:
-
- 0 表示这个格子是空的,可以穿过它;
-
- 1 表示这个格子里装着一个樱桃,可以摘到樱桃然后穿过它;
-
- -1 表示这个格子里有荆棘,挡着你的路。
- 你的任务是在遵守下列规则的情况下,尽可能的摘到最多樱桃:
-
- 从位置 (0, 0) 出发,最后到达 (N-1, N-1) ,只能向下或向右走,并且只能穿越有效的格子(即只可以穿过值为0或者1的格子);
-
- 当到达 (N-1, N-1) 后,你要继续走,直到返回到 (0, 0) ,只能向上或向左走,并且只能穿越有效的格子;
-
- 当你经过一个格子且这个格子包含一个樱桃时,你将摘到樱桃并且这个格子会变成空的(值变为0);
-
- 如果在 (0, 0) 和 (N-1, N-1) 之间不存在一条可经过的路径,则没有任何一个樱桃能被摘到。
- 示例:
输入: grid =
以上是关于数据结构与算法之深入解析“摘樱桃”的求解思路与算法示例的主要内容,如果未能解决你的问题,请参考以下文章
数据结构与算法之深入解析“股票的最大利润”的求解思路与算法示例