天池 在线编程 捡胡萝卜(模拟)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

来源:https://tianchi.aliyun.com/oj/210874425247820050/215397455965131519

给定一个n * m 的矩阵 carrot, carrot[i][j] 表示(i, j) 坐标上的胡萝卜数量。
从矩阵的中心点出发,每一次移动都朝着四个方向中胡萝卜数量最多的方向移动,保证移动方向唯一。 返回你可以得到的胡萝卜数量。

示例 1:
输入:
carrot = 
[[5, 7, 6, 3],
[2,  4, 8, 12],
[3, 5, 10, 7],
[4, 16, 4, 17]]
输出: 83
解释:起点坐标是(1, 1), 
移动路线是:4 -> 8 -> 12 -> 7 -> 17 -> 4 -> 16 -> 5 -> 10示例 2:
输入:
carrot = 
[[5, 3, 7, 1, 7],[4, 6, 5, 2, 8],[2, 1, 1, 4, 6]]输出: 30解释:起始点是 (1, 2), 移动路线是: 5 -> 7 -> 3 -> 6 -> 4 -> 5

2. 解题

class Solution {
public:/*** @param carrot: an integer matrix* @return: Return the number of steps that can be moved.*/int PickCarrots(vector<vector<int>> &carrot) {// write your code hereint m = carrot.size(), n = carrot[0].size();int x = (m-1)/2, y = (n-1)/2;//中心点int sum = carrot[x][y];vector<vector<int>> dir = {{0,1},{1,0},{-1,0},{0,-1}};while(true){bool exists = false;int nx, ny, maxval = INT_MIN, px, py;for(int k = 0; k < 4; k++){nx = x + dir[k][0];ny = y + dir[k][1];if(nx>=0 && nx < m && ny>=0 && ny <n && carrot[nx][ny] != -1){exists = true;if(carrot[nx][ny] > maxval){px = nx, py = ny;maxval = carrot[nx][ny];}}}if(!exists)break;if(maxval != INT_MIN){sum += maxval;carrot[x][y] = -1;//原来位置标记为走过的x = px, y = py;//移动到新的位置}}return sum;}
};

50ms C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473437.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware中ubuntu虚拟机与windows的端口映射,共享一个IP地址

在ubuntu虚拟机中&#xff0c;运行了meteor的后台程序&#xff0c;需要终端进行连接&#xff0c;需要进行ubuntu虚拟机与windows的端口映射&#xff08;虚拟机与主机共享IP地址&#xff09;。 下面为设置步骤&#xff1a; 1.点击编译&#xff0c;虚拟网络编辑器2.在虚拟网络编辑…

LeetCode 1678. 设计 Goal 解析器

文章目录1. 题目2. 解题1. 题目 请你设计一个可以解释字符串 command 的 Goal 解析器 。 command 由 "G"、"()" 和/或 "(al)" 按某种顺序组成。 Goal 解析器会将 “G” 解释为字符串 “G”、 “()” 解释为字符串 “o” &#xff0c; “(al)” …

Jmeter使用入门

Jmeter简介Jmeter的基本概念百度百科&#xff1a;Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试&#xff0c;但后来扩展到其他测试领域。 它可以用于测试静态和动态资源&#xff0c;例如静态文件、Jav…

阿里云 Windows Server 2022 安装 Docker

阿里云Windows Server 2022 安装 Docker 文章目录 情景尝试正解 安装Docker管理工具安装Docker重启系统配置Docker系统路径配置Docker引擎(也许不用)启动Docker服务 情景 情景&#xff1a;最近一直在搞微服务&#xff0c;团队的服务器是阿里云的 Windows Server 2022&…

LeetCode 1679. K 和数对的最大数目(哈希)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums 和一个整数 k 。 每一步操作中&#xff0c;你需要从数组中选出和为 k 的两个整数&#xff0c;并将它们移出数组。 返回你可以对数组执行的最大操作数。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,4], k 5 输…

正则表达式之 贪婪与非贪婪模式详解

1 概述 贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为&#xff0c;贪婪模式在整个表达式匹配成功的前提下&#xff0c;尽可能多的匹配&#xff0c;而非贪婪模式在整个表达式匹配成功的前提下&#xff0c;尽可能少的匹配。非贪婪模式只被部分NFA引擎所支持。 属于贪婪…

LeetCode 1680. 连接连续二进制数字(位运算)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n &#xff0c;请你将 1 到 n 的二进制表示连接起来&#xff0c;并返回连接结果对应的 十进制 数字对 10^9 7 取余的结果。 示例 1&#xff1a; 输入&#xff1a;n 1 输出&#xff1a;1 解释&#xff1a;二进制的 "1"…

网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处

转载请标明出处&#xff1a;http://blog.csdn.net/lmj623565791/article/details/23866427 今天又遇到一个网页数据抓取的任务&#xff0c;给大家分享下。 说道网页信息抓取&#xff0c;相信Jsoup基本是首选的工具&#xff0c;完全的类JQuery操作&#xff0c;让人感觉很舒服。但…

jmeter进行http压力测试(图文小教程)

下载地址&#xff1a;http://jmeter.apache.org/download_jmeter.cgiJMeter基于Java开发&#xff0c;需要系统有安装JDK环境。解压后进入bin目录&#xff0c;点击jmeter.bat1、添加线程组&#xff1a; 测试计划 -> 添加 -> Threads(User) -> 线程组&#xff0c;添加后…

LeetCode 1681. 最小不兼容性(回溯+剪枝)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums​​​ 和一个整数 k 。你需要将这个数组划分到 k 个相同大小的子集中&#xff0c;使得同一个子集里面没有两个相同的元素。 一个子集的 不兼容性 是该子集里面最大值和最小值的差。 请你返回将数组分成 k 个子集后&…

使用CNN进行情感分类

文章目录1. 读取数据2. 数据集拆分3. 文本向量化4. 建立CNN模型5. 训练、测试参考 基于深度学习的自然语言处理 1. 读取数据 数据文件&#xff1a; import numpy as np import pandas as pddata pd.read_csv("yelp_labelled.txt", sep\t, names[sentence, label…

人生苦短,我用Python(Python快速教程 - 基础篇)

Life is short, you need Python 人生苦短&#xff0c;我用Python -- Bruce Eckel 5.1 Python简介 本章将介绍Python的最基本语法&#xff0c;以及一些和深度学习还有计算机视觉最相关的基本使用。 5.1.1 Python简史 Python是一门解释型的高级编程语言&#xff0c;特点是简单明…

A5营销:传统企业站优化正文内容在SEO方面的三大注意事项

关于网站的正文内容&#xff0c;相信站长们都应该比较清楚正文内容的作用以及给网站所带来的价值&#xff0c;优质的网站正文内容可以给用户带来阅读体验和帮助、可以给网站带来庞大的流量、可以让蜘蛛一次吃个饱等等。当然&#xff0c;优质的正文内容不光是内容的质量正重要&a…

LeetCode 1000. 合并石头的最低成本(区间DP)

文章目录1. 题目2. 解题1. 题目 有 N 堆石头排成一排&#xff0c;第 i 堆中有 stones[i] 块石头。 每次移动&#xff08;move&#xff09;需要将连续的 K 堆石头合并为一堆&#xff0c;而这个移动的成本为这 K 堆石头的总数。 找出把所有石头合并成一堆的最低成本。如果不可…

Android 自定义View (一)

转载请标明出处&#xff1a;http://blog.csdn.net/lmj623565791/article/details/24252901 很多的Android入门程序猿来说对于Android自定义View&#xff0c;可能都是比较恐惧的&#xff0c;但是这又是高手进阶的必经之路&#xff0c;所有准备在自定义View上面花一些功夫&#x…

LeetCode 995. K 连续位的最小翻转次数(差分思想)

文章目录1. 题目2. 解题1. 题目 在仅包含 0 和 1 的数组 A 中&#xff0c;一次 K 位翻转包括选择一个长度为 K 的&#xff08;连续&#xff09;子数组&#xff0c;同时将子数组中的每个 0 更改为 1&#xff0c;而每个 1 更改为 0。 返回所需的 K 位翻转的次数&#xff0c;以便…

如何自学人工智能?

不少同学跃跃欲试&#xff0c;想投入 AI 的怀抱&#xff0c;但苦于不知如何下手。其中&#xff0c;人工智能的核心就是机器学习&#xff08;Machine Learning&#xff09;&#xff0c;它是使计算机具有智能的根本途径&#xff0c;其应用遍及人工智能的各个领域。 我们今天就来分…

AI 人工智能学习经典书单

人工智能相关岗位中&#xff0c;涉及到的内容包含&#xff1a;算法、深度学习、机器学习、自然语言处理、数据结构、Tensorflow、Python 、数据挖掘、搜索开发、神经网络、视觉度量、图像识别、语音识别、推荐系统、系统算法、图像算法、数据分析、概率编程、计算机数学、数据仓…

牛客 牛牛爱喝酒(模拟)

文章目录1. 题目2. 解题1. 题目 链接&#xff1a;https://ac.nowcoder.com/acm/contest/9752/A 来源&#xff1a;牛客网 牛牛是一个酒鬼&#xff0c;非常爱喝酒&#xff0c; 一瓶酒m元钱&#xff0c; 两个酒瓶可以换一瓶酒&#xff0c; 四个瓶盖可以换一瓶酒&#xff0c; 现在…

零基础30分钟开启你的快速开发之旅

零基础30分钟开启你快速开发之旅 1. 前言 接触AgileEAS.NET SOA 中间件平台&#xff08;以下简称EAS.NET平台&#xff09;有4个多月时间&#xff0c;经过试用认为可以把它作为一个开发的基础平台&#xff0c;开发团队可以把开发的重点放在需求的把控和项目的交付上&#xff0c;…