leetcode 1406
简介
国服第一的刷题视频
参考链接
https://www.bilibili.com/video/BV1W54y197NM?from=search&seid=16875469481128889064
思路
主要用了倒序的思想,因为正序对于求解的不确定性太多了
定义f[n] 表示在第n次开始拿先手可以比后手多拿多少分
DP
倒推
代码
string stoneGameIII(vector<int>& a) {
int n = a.size();
// 主要用了倒序的思想,因为正序对于求解的不法确定性太多了
// 定义f[n] 表示在第n次开始拿先手可以比后手多拿多少分
vector<int> f;
f.resize(n+1);
f[n] = 0; // 原本长度是n-1的长度,扩充一个的长度表示在最最开始先手和后手持平当然你也可以
// 扩充三堆的样子,也就是后面判断条件的该改变
for(int i=n-1; i>=0; i--){
f[i] = -1e9;
int s = 0;
for(int j = i; j<(i+3) && j < n; j++){
s += a[j];
f[i] = max(f[i], s - f[j+1]);// 表示 选取1,2,3和前一次先手最好的比较。即这一次先手的最优值
}
}
if(f[0] > 0){
return "Alice";
}else if(f[0] == 0){
return "Tie";
}else{
return "Bob";
}
}
leetcode 1406的更多相关文章
- leetcode动态规划题目总结
Hello everyone, I am a Chinese noob programmer. I have practiced questions on leetcode.com for 2 yea ...
- 我为什么要写LeetCode的博客?
# 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...
- LeetCode All in One 题目讲解汇总(持续更新中...)
终于将LeetCode的免费题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开个题目汇总贴,并附上每道题目的解题连接,方便之后查阅吧~ 477 Total Hamming Distance ...
- [LeetCode] Longest Substring with At Least K Repeating Characters 至少有K个重复字符的最长子字符串
Find the length of the longest substring T of a given string (consists of lowercase letters only) su ...
- Leetcode 笔记 113 - Path Sum II
题目链接:Path Sum II | LeetCode OJ Given a binary tree and a sum, find all root-to-leaf paths where each ...
- Leetcode 笔记 112 - Path Sum
题目链接:Path Sum | LeetCode OJ Given a binary tree and a sum, determine if the tree has a root-to-leaf ...
- Leetcode 笔记 110 - Balanced Binary Tree
题目链接:Balanced Binary Tree | LeetCode OJ Given a binary tree, determine if it is height-balanced. For ...
- Leetcode 笔记 100 - Same Tree
题目链接:Same Tree | LeetCode OJ Given two binary trees, write a function to check if they are equal or ...
- Leetcode 笔记 99 - Recover Binary Search Tree
题目链接:Recover Binary Search Tree | LeetCode OJ Two elements of a binary search tree (BST) are swapped ...
- Leetcode 笔记 98 - Validate Binary Search Tree
题目链接:Validate Binary Search Tree | LeetCode OJ Given a binary tree, determine if it is a valid binar ...
随机推荐
- Linux之用户和用户组管理
概念 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须要拥有一个账号进入系统,账号实质上就是一个用户在系统上的标识.系统根据标识分配不同的权限和资源.一个账号包含用 ...
- 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
数据模型的设计是编辑器的核心基础,其直接影响了选区模型.DOM模型.状态管理等模块的设计.例如在quill中的选区模型是index + len的表达,而slate中则是anchor + focus的表 ...
- Spring中的依赖注入DI
目录 Spring中的依赖注入DI Spring中的依赖注入DI 依赖注入的简单理解就是给对象设置变量值. Spring配置文件 <?xml version="1.0" en ...
- heapdump敏感信息提取工具-heapdump_tool(二),附下载链接。
heapdump敏感信息查询工具,例如查找 spring heapdump中的密码明文,AK,SK等 下载链接: heapdump_tool下载链接:heapdump_tool下载 声明: 此工具 ...
- vue3 基础-传送门 teleport
之前介绍了一波混入 mixin 和 自定义指令 directive 其基本作用就是为了在 vue 中实现代码的复用. 而本篇介绍的是 vue3 的一个新特性叫做传送门. 一听这个名字是不是就感觉特别科 ...
- AI制作祝福视频,直播礼物收不停,广州塔、动态彩灯、LED表白(附下载链接)
在追剧的时候经常能看到一些浪漫的告白桥段,男主用圣诞彩灯表白.用城市标志性建筑的LED表白,或者在五光十色的烟花绽放后刻下女主角的名字,充满了仪式感和氛围感~ 现在,这样的表白效果用AI软件就能实现了 ...
- TVM:Object家族
Object.h概述 命名空间: TVM::runtime 文件中包含的结构: 1.结构体TypeIndex 2.类Object 3.类ObjectPtr 4.类ObjectRef 5.结构体Obje ...
- vue3微前端架构——基于蚂蚁qiankun框架
楔子 首先,目前qiankun框架尚不支持vite, 微应用不能使用vite创建, 即使只是生产环境加的载微应用也不行, 因为vite打包代码时,内部的esbuild会tree shake掉与qian ...
- INotifyCollectionChanged 用法简介
INotifyCollectionChanged 接口是 System.Collections.Specialized 命名空间中的一个接口,用于在集合发生更改时通知订阅者.这个接口通常在实现了集合的 ...
- Sqlite3中的Join
1.概述sqlite3是一种轻便的数据库,由DDL(Data defination language),DML(Data manipulation language),TCL(Transaction ...