当前位置: 首页 > news >正文

力扣1463. 摘樱桃 II

力扣1463. 摘樱桃 II

题目

在这里插入图片描述

题目解析及思路

题目要求返回从左上角和右上角分别出发两个机器人摘樱桃的最大数量、

每个机器人可以往左下,正下,右下三个方向走

定义f[i][j+1][k+1]表示一个机器人从(i,j)出发,一个机器人从(i,k)出发的最多摘樱桃数量

边界:j=−1, k=−1

初始值:f[i][j][k] = 0 答案为f[0][1][m]

代码

class Solution {
public:
    int cherryPickup(vector<vector<int>>& grid) {
        int n = grid.size(),m = grid[0].size();
        vector<vector<vector<int>>> f(n + 1, vector<vector<int>>(m + 2, vector<int>(m + 2)));
        for(int i=n-1;i>=0;i--){
            //哪怕左上角的机器人一直往右下走,j也不会超过i,最多就相等,所以j>i的情况都不存在
            for(int j=0;j<min(m,i+1);j++){
                //哪怕右上角的机器人一直往左下走,k也不会超过m-i-1,最多就相等,所以这种情况都不存在
                //并且两机器人线路交叉也没意义,如果穿过去能更多,那更近的机器人应该自己走那条路,所以k>j
                for(int k=max(j+1,m-1-i);k<m;k++){
                    //九种情况取max:[j...j+2] × [k...k+2]
                    f[i][j+1][k+1] = max({
                        f[i + 1][j][k], f[i + 1][j][k + 1], f[i + 1][j][k + 2],
                        f[i + 1][j + 1][k], f[i + 1][j + 1][k + 1], f[i + 1][j + 1][k + 2],
                        f[i + 1][j + 2][k], f[i + 1][j + 2][k + 1], f[i + 1][j + 2][k + 2]
                    }) + grid[i][j] + grid[i][k];
                }
            }
        }
        return f[0][1][m];
    }
};
http://www.dtcms.com/a/56756.html

相关文章:

  • 存量思维和增量思维
  • Python代码调试方法集锦
  • 用DEEPSEEK做数据看板:高效、实用与创新的融合
  • android paging使用教程
  • open-webui+deepseek api实现deepseek自由
  • AI×电商数据API接口:深度融合,引领未来电商行业浪潮
  • Vulnhub-Node
  • leetcode69.x 的平方根
  • 《Python实战进阶》No16: Plotly 交互式图表制作指南
  • Python3 爬虫 爬虫中间件
  • AI系统架构
  • JS如何实现全选以及联动效果
  • Linux常见指令
  • leetcode-sql数据库面试题冲刺(高频SQL五十题)
  • MySQL第一次作业
  • ubuntu24.04-系统重装
  • fastapi+angular停车管理系统可跨域
  • MaxKB结合DeepSeek快速构建客服企业知识库
  • MySQL 用户与权限管理详解:从角色解锁到安全加固
  • Codemirror编辑器中引入其他语言支持的方式
  • 图形界面控件编程(iOS)
  • 文档进行embedding,Faiss向量检索
  • 数据集笔记:LTA static datasets
  • js实现pdf文件路径预览和下载
  • React Server Components:高性能React开发
  • 【2025年22期免费获取股票数据API接口】实例演示五种主流语言获取股票行情api接口之沪深A股历史成交分布数据获取实例演示及接口API说明文档
  • C#获取本机串口列表
  • 性能测试 学习基础
  • 一招解决Pytorch GPU版本安装慢的问题
  • Node.js 报错 ENOBUFS 处理方案