2017. 網格游戲

2017. 網格游戲

給你一個下標從 0 開始的二維數組 grid ,數組大小為 2 x n ,其中 grid[r][c] 表示矩陣中 (r, c) 位置上的點數。現在有兩個機器人正在矩陣上參與一場游戲。

兩個機器人初始位置都是 (0, 0) ,目標位置是 (1, n-1) 。每個機器人只會 向右 ((r, c) 到 (r, c + 1)) 或 向下 ((r, c) 到 (r + 1, c)) 。

游戲開始,第一個 機器人從 (0, 0) 移動到 (1, n-1) ,并收集路徑上單元格的全部點數。對于路徑上所有單元格 (r, c) ,途經后 grid[r][c] 會重置為 0 。然后,第二個 機器人從 (0, 0) 移動到 (1, n-1) ,同樣收集路徑上單元的全部點數。注意,它們的路徑可能會存在相交的部分。

第一個 機器人想要打擊競爭對手,使 第二個 機器人收集到的點數 最小化 。與此相對,第二個 機器人想要 最大化 自己收集到的點數。兩個機器人都發揮出自己的 最佳水平 的前提下,返回 第二個 機器人收集到的 點數 。

示例 1:

圖片.png

輸入:grid = [[2,5,4],[1,5,1]]
輸出:4
解釋:第一個機器人的最佳路徑如紅色所示,第二個機器人的最佳路徑如藍色所示。
第一個機器人訪問過的單元格將會重置為 0 。
第二個機器人將會收集到 0 + 0 + 4 + 0 = 4 個點。

示例 2:

圖片.png

輸入:grid = [[3,3,1],[8,5,2]]
輸出:4
解釋:第一個機器人的最佳路徑如紅色所示,第二個機器人的最佳路徑如藍色所示。 
第一個機器人訪問過的單元格將會重置為 0 。
第二個機器人將會收集到 0 + 3 + 1 + 0 = 4 個點。

示例 3:

圖片.png

輸入:grid = [[1,3,1,15],[1,3,3,1]]
輸出:7
解釋:第一個機器人的最佳路徑如紅色所示,第二個機器人的最佳路徑如藍色所示。
第一個機器人訪問過的單元格將會重置為 0 。
第二個機器人將會收集到 0 + 1 + 3 + 3 + 0 = 7 個點。

提示:

grid.length == 2
n == grid[r].length
1 <= n <= 5 * 104
1 <= grid[r][c] <= 105

解題思路

以示例一為例子

image.png

通過觀察可得,只要機器人一選出了任意一條路徑,那么機器人二無論如何最多只能收集第一行或者第二行中,未被置為0的那部分點數。例如示例一,機器人二無論走什么路徑,最多只能收集第一行的點數總和4或者第二行的點數總和1.因此,我們可以嘗試全部機器人一的路徑,但是因為我們只是關心第一行和第二行置為0以后的點數,因此可以使用前綴和,快速得出,每一行置為0以后的剩余點數,機器人二就會選擇剩余點數多的那行進行收集,而我們的目的就是找出使得機器人二收集最少點數的路徑

代碼

class Solution {
public:long long gridGame(vector<vector<int>> grid) {int n=grid[0].size();vector<long long > pre1(n),pre2(n);pre1[0]=grid[0][0];pre2[0]=grid[1][0];for (int i = 1; i < n; ++i) {pre1[i]=pre1[i-1]+grid[0][i];pre2[i]=pre2[i-1]+grid[1][i];}long long s1=pre1[n-1],s2=pre2[n-1];long long m=s1-pre1[0];for (int i = 1; i < n; ++i) {m=min(m,max(s1-pre1[i],pre2[i-1]));}return m;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389727.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389727.shtml
英文地址,請注明出處:http://en.pswp.cn/news/389727.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HUST軟工1506班第2周作業成績公布

說明 本次公布的成績對應的作業為&#xff1a; 第2周個人作業&#xff1a;WordCount編碼和測試 如果同學對作業成績存在異議&#xff0c;在成績公布的72小時內&#xff08;截止日期4月26日0點&#xff09;可以進行申訴&#xff0c;方式如下&#xff1a; 畢博平臺的第二周在線答…

幣氪共識指數排行榜0910

幣氪量化數據在今天的報告中給出DASH的近期買賣信號&#xff0c;可以看出從今年4月中旬起到目前為止&#xff0c;DASH_USDT的價格總體呈現出下降的趨勢。 轉載于:https://www.cnblogs.com/tokpick/p/9621821.html

走出囚徒困境的方法_囚徒困境的一種計算方法

走出囚徒困境的方法You and your friend have committed a murder. A few days later, the cops pick the two of you up and put you in two separate interrogation rooms such that you have no communication with each other. You think your life is over, but the polic…

2016. 增量元素之間的最大差值

2016. 增量元素之間的最大差值 給你一個下標從 0 開始的整數數組 nums &#xff0c;該數組的大小為 n &#xff0c;請你計算 nums[j] - nums[i] 能求得的 最大差值 &#xff0c;其中 0 < i < j < n 且 nums[i] < nums[j] 。 返回 最大差值 。如果不存在滿足要求的…

Zookeeper系列四:Zookeeper實現分布式鎖、Zookeeper實現配置中心

一、Zookeeper實現分布式鎖 分布式鎖主要用于在分布式環境中保證數據的一致性。 包括跨進程、跨機器、跨網絡導致共享資源不一致的問題。 1. 分布式鎖的實現思路 說明&#xff1a; 這種實現會有一個缺點&#xff0c;即當有很多進程在等待鎖的時候&#xff0c;在釋放鎖的時候會有…

resize 按鈕不會被偽元素遮蓋

textarea默認有個resize樣式&#xff0c;效果就是下面這樣 讀 《css 揭秘》時發現兩個亮點&#xff1a; 其實這個屬性不僅適用于 textarea 元素&#xff0c;適用于下面所有元素&#xff1a;elements with overflow other than visible, and optionally replaced elements repre…

平臺api對數據收集的影響_收集您的數據不是那么怪異的api

平臺api對數據收集的影響A data analytics cycle starts with gathering and extraction. I hope my previous blog gave an idea about how data from common file formats are gathered using python. In this blog, I’ll focus on extracting the data from files that are…

709. 轉換成小寫字母

709. 轉換成小寫字母 給你一個字符串 s &#xff0c;將該字符串中的大寫字母轉換成相同的小寫字母&#xff0c;返回新的字符串。 示例 1&#xff1a;輸入&#xff1a;s "Hello" 輸出&#xff1a;"hello"示例 2&#xff1a;輸入&#xff1a;s "here…

前端技術周刊 2018-09-10:Redux Mobx

前端快爆 在 Chrome 10 周年之際&#xff0c;正式發布 69 版本&#xff0c;整體 UI 重新設計&#xff0c;同時iOS 版本重新將工具欄放置在了底部。API 層面&#xff0c;支持了 CSS Scroll Snap、前端資源鎖 Web Lock API、WebWorker 里面可以跑的 OffscreenCanvas API、toggleA…

PPT制作

0.【整體風格】整體風格統一 界面排版 0.1 字體大小&#xff1b; 0.2 字體顏色&#xff1b; 0.3 字體的種類統一(不是指只取一種字體)&#xff09; 1.【表達】結構化表達&#xff1b; 2.【取色】取色風格統一&#xff1b; 技巧&#xff1a;主色不超過三種&#xff0c;色彩不宜多…

1984. 學生分數的最小差值

1984. 學生分數的最小差值 給你一個 下標從 0 開始 的整數數組 nums &#xff0c;其中 nums[i] 表示第 i 名學生的分數。另給你一個整數 k 。 從數組中選出任意 k 名學生的分數&#xff0c;使這 k 個分數間 最高分 和 最低分 的 差值 達到 最小化 。 返回可能的 最小差值 。…

WBLoadingIndicatorView(加載等待動畫)

中文說明 基于CALayer封裝加載等待動畫&#xff0c;目前支持6種類型動畫&#xff1a; typedef NS_ENUM(NSInteger, WBLoadingAnimationType) { WBLoadingAnimationcircleStrokeSpinType, WBWBLoadingAnimationBallPulseType, WBWBLoadingAnimationBallClipRotateType, WBWBLoad…

邏輯回歸 概率回歸_概率規劃的多邏輯回歸

邏輯回歸 概率回歸There is an interesting dichotomy in the world of data science between machine learning practitioners (increasingly synonymous with deep learning practitioners), and classical statisticians (both Frequentists and Bayesians). There is gener…

sys.modules[__name__]的一個實例

關于sys.modules[__name__]的用法&#xff0c;百度上閱讀量比較多得一個帖子是&#xff1a;https://www.cnblogs.com/robinunix/p/8523601.html 對于里面提到的基礎性的知識點這里就不再重復了&#xff0c;大家看原貼就好。這里為大家提供一個詳細的例子&#xff0c;幫助大家更…

ajax不利于seo_利于探索移動選項的界面

ajax不利于seoLately, my parents will often bring up in conversation their desire to move away from their California home and find a new place to settle down for retirement. Typically they will cite factors that they perceive as having altered the essence o…

C#調用WebKit內核

原文:C#調用WebKit內核版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 https://blog.csdn.net/u013564470/article/details/80255954 系統要求 Windows與.NET框架 由于WebKit庫和.NET框架的要求&#xff0c;WebKit .NET只能在Windows系統上運行。從…

數據分析入門:如何訓練數據分析思維?

本文由 網易云 發布。 作者&#xff1a;吳彬彬&#xff08;本篇文章僅限知乎內部分享&#xff0c;如需轉載&#xff0c;請取得作者同意授權。&#xff09; 我們在生活中&#xff0c;會經常聽說兩種推理模式&#xff0c;一種是歸納 一種是演繹&#xff0c;這兩種思維模式能夠幫…

2011. 執行操作后的變量值

2011. 執行操作后的變量值 存在一種僅支持 4 種操作和 1 個變量 X 的編程語言&#xff1a; X 和 X 使變量 X 的值 加 1 –X 和 X-- 使變量 X 的值 減 1 最初&#xff0c;X 的值是 0 給你一個字符串數組 operations &#xff0c;這是由操作組成的一個列表&#xff0c;返回執行…

crontab的坑

使用crontab的話&#xff0c;任何命令都需要采用絕對路徑&#xff01;&#xff01;包括輸出文件位置 如&#xff1a;nohup /usr/sbin/tcpdump -i flannel.1 -nn -q -n tcp > /home/linjj/conns.log & 轉載于:https://www.cnblogs.com/linjj/p/9006419.html

559. N 叉樹的最大深度

559. N 叉樹的最大深度 給定一個 N 叉樹&#xff0c;找到其最大深度。 最大深度是指從根節點到最遠葉子節點的最長路徑上的節點總數。 N 叉樹輸入按層序遍歷序列化表示&#xff0c;每組子節點由空值分隔&#xff08;請參見示例&#xff09;。 示例 1&#xff1a; 輸入&#…