【数据结构与算法】之深入解析“摘樱桃”的求解思路与算法示例
【摘要】
一、题目要求
一个 N x N 的网格(grid)代表了一块樱桃地,每个格子由以下三种数字的一种来表示:
0 表示这个格子是空的,可以穿过它;
1 表示这...
一、题目要求
- 一个 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 =
文章来源: blog.csdn.net,作者:╰つ栺尖篴夢ゞ,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/Forever_wj/article/details/126254561
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)