文章目录

  • 1. 题目
  • 2. 解题

1. 题目

有 3n 堆数目不一的硬币,你和你的朋友们打算按以下方式分硬币:

  • 每一轮中,你将会选出 任意 3 堆硬币(不一定连续)。
  • Alice 将会取走硬币数量最多的那一堆。
  • 你将会取走硬币数量第二多的那一堆。
  • Bob 将会取走最后一堆。
  • 重复这个过程,直到没有更多硬币。

给你一个整数数组 piles ,其中 piles[i] 是第 i 堆中硬币的数目。

返回你可以获得的最大硬币数目

示例 1:
输入:piles = [2,4,1,2,7,8]
输出:9
解释:选出 (2, 7, 8) ,
Alice 取走 8 枚硬币的那堆,你取走 7 枚硬币的那堆,Bob 取走最后一堆。
选出 (1, 2, 4) ,
Alice 取走 4 枚硬币的那堆,你取走 2 枚硬币的那堆,Bob 取走最后一堆。
你可以获得的最大硬币数目:7 + 2 = 9.
考虑另外一种情况,如果选出的是 (1, 2, 8) 和 (2, 4, 7) ,
你就只能得到 2 + 4 = 6 枚硬币,这不是最优解。示例 2:
输入:piles = [2,4,5]
输出:4示例 3:
输入:piles = [9,8,7,6,5,1,2,3,4]
输出:18提示:
3 <= piles.length <= 10^5
piles.length % 3 == 0
1 <= piles[i] <= 10^4

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-number-of-coins-you-can-get
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 每次把最小的取出来给bob,把最大的两个取出来,你拿第二大的
class Solution {public:int maxCoins(vector<int>& piles) {sort(piles.rbegin(), piles.rend());//从大到小排序int i = 1, s = 0, n = piles.size()/3;while(n--){s += piles[i];i += 2;}return s;}
};

648 ms 53.8 MB


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

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

LeetCode 1561. 你可以获得的最大硬币数目相关推荐

  1. 贪心——你可以获得的最大硬币数目(Leetcode 1561)

    题目选自Leetcode 1561 首先一看就是贪心 为了使我们拿到的尽可能大,所以就从最大开始拿,而前一个数肯定得比我们拿的大, 所以如果将一个数组排序好,则我们可以这样安排 Alice 取走最大的 ...

  2. Matlab利用膨胀腐蚀计算硬币数目

    Matlab利用膨胀腐蚀计算硬币数目 这段时间一直在学习Matlab图像处理,浅浅的记录一下一个简单的膨胀腐蚀算法. sample04.jpg 代码如下: %%计算图中硬币的数量I=imread('s ...

  3. 【leetcode刷题】[简单]441. 排列硬币(arranging coins)-java

    排列硬币 arranging coins 题目 分析 解答 题目 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行 ...

  4. [LeetCode](面试题 08.11)硬币

    题目 硬币.给定数量不限的硬币,币值为25分.10分.5分和1分,编写代码计算n分有几种表示法.(结果可能会很大,你需要将结果模上1000000007) 示例1: 输入: n = 5输出:2解释: 有 ...

  5. 【回溯算法】LeetCode的1024活动快速合成1024硬币攻略

    游戏规则 用 7 张牌进行 3 次运算,其中每次运算需使用 2 张 数字牌 和 1 张 运算符号牌 : 每次运算后都将根据上一次的运算结果生成一张数字牌.最后一次运算结果刚好等于 1024 时记为「成 ...

  6. Leetcode刷题100天—441. 排列硬币(数学)—day62

    前言: 作者:神的孩子在歌唱 大家好,我叫智 441. 排列硬币 难度简单155收藏分享切换为英文接收动态反馈 你总共有 n 枚硬币,并计划将它们按阶梯状排列.对于一个由 k 行组成的阶梯,其第 i ...

  7. LeetCode简单题之统一一致字符串的数目

    题目 给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words .如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串 . 请你返回 words 数组中 ...

  8. LeetCode 2071. 你可以安排的最多任务数目(二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给你 n 个任务和 m 个工人.每个任务需要一定的力量值才能完成,需要的力量值保存在下标从 0 开始的整数数组 tasks 中,第 i 个任务需要 tas ...

  9. LeetCode 1819. 序列中不同最大公约数的数目

    文章目录 1. 题目 2. 解题 1. 题目 给你一个由正整数组成的数组 nums . 数字序列的 最大公约数 定义为序列中所有整数的共有约数中的最大整数. 例如,序列 [4,6,16] 的最大公约数 ...

最新文章

  1. ppct各代表什么_开关背面L、L1、L2各代表什么?火线,零线,地线怎样接?
  2. WinCE中断结构分析
  3. oracle awr报告提取,oracle AWR报告提取分析
  4. daterangepicker java_日期选择插件Date Range Picker
  5. 操作数组的流 ByteArrayInputStream 和 ByteArrayOutputStream的简单介绍
  6. C#:将图片文件上传到数据库两种方法。
  7. android平台Camera采集数据ffmpeg进行编码探究
  8. 使用手持式频谱分析仪进行TDD信号分析
  9. 线性代数01:函数对向量、矩阵的梯度(向量、矩阵求导)
  10. 微信、支付宝分账~进行中
  11. 英语中什么是开音节,什么是闭音节
  12. html css 如何将图片作为背景,CSS背景图片和HTML中的img标签
  13. 考研中国科学院大学计算机分数线,中国科学院大学2017年考研分数线
  14. 粒子滤波 PF(Particle filter)算法
  15. 85D - Sum of Medians
  16. python 权限认证 impala_python操作具有kerberos认证的hive(impala)
  17. 2021年施工员-装饰方向-通用基础(施工员)考试资料及施工员-装饰方向-通用基础(施工员)考试试卷
  18. 什么是值传递和引用传递?
  19. SAP FICO财务月结-外币评估
  20. 在eclipse中安装Jess

热门文章

  1. FastText原理总结
  2. tableau 倒序都倒了_Tableau优秀作品拆解复刻01-是时候终结瘘管病了
  3. 计算机用户登录设置成2000,2008计算机等级考试:Windows2000系统选项设置
  4. innobackupex备份工具
  5. Weblogic(4)—— Linux环境Weblogic12c配置节点管理(nodemanage.properties)来开启应用服务器(server)及线程池配置...
  6. 项目管理——文档的重要性
  7. RHadoop和CDH整合实例(三)- RHive
  8. 写写最近吧,关于读研、找工作
  9. SVN1.6.5详细配置
  10. c++常用知识点,易错点,面试常问点