wy的leetcode刷题记录_Day60
创始人
2024-04-27 18:18:03

wy的leetcode刷题记录_Day60

声明

本文章的所有题目信息都来源于leetcode
如有侵权请联系我删掉!
时间:2022-12-21

前言

这几天身体不舒服,现在重新开始更新。

目录

  • wy的leetcode刷题记录_Day60
    • 声明
    • 前言
    • 1753. 移除石子的最大得分
      • 题目介绍
      • 思路
      • 代码
      • 收获
    • 538. 把二叉搜索树转换为累加树
      • 题目介绍
      • 思路
      • 代码
      • 收获

1753. 移除石子的最大得分

今天的每日一题是:1753. 移除石子的最大得分

题目介绍

你正在玩一个单人游戏,面前放置着大小分别为 a​​​​​​、b 和 c​​​​​​ 的 三堆 石子。

每回合你都要从两个 不同的非空堆 中取出一颗石子,并在得分上加 1 分。当存在 两个或更多 的空堆时,游戏停止。

给你三个整数 a 、b 和 c ,返回可以得到的 最大分数 。

示例 1:
输入:a = 2, b = 4, c = 6
输出:6
解释:石子起始状态是 (2, 4, 6) ,最优的一组操作是:

  • 从第一和第三堆取,石子状态现在是 (1, 4, 5)
  • 从第一和第三堆取,石子状态现在是 (0, 4, 4)
  • 从第二和第三堆取,石子状态现在是 (0, 3, 3)
  • 从第二和第三堆取,石子状态现在是 (0, 2, 2)
  • 从第二和第三堆取,石子状态现在是 (0, 1, 1)
  • 从第二和第三堆取,石子状态现在是 (0, 0, 0) 总分:6 分 。

示例 2:
输入:a = 4, b = 4, c = 6
输出:7
解释:石子起始状态是 (4, 4, 6) ,最优的一组操作是:

  • 从第一和第二堆取,石子状态现在是 (3, 3, 6)
  • 从第一和第三堆取,石子状态现在是 (2, 3, 5)
  • 从第一和第三堆取,石子状态现在是 (1, 3, 4)
  • 从第一和第三堆取,石子状态现在是 (0, 3, 3)
  • 从第二和第三堆取,石子状态现在是 (0, 2, 2)
  • 从第二和第三堆取,石子状态现在是 (0, 1, 1)
  • 从第二和第三堆取,石子状态现在是 (0, 0, 0) 总分:7 分 。

思路

方法一:可以使用模拟法,按照题目所说一点一点减下去得到答案。
方法二:贪心:观察题目后,我们寻找最大值,我们发现当这个最大值大于其他俩个值的和的时候那么,其他俩个值只能与最大值进行分组,所以答案是剩下俩个值的和。如果最大值小于其他俩个值之和,那么其他俩个值不仅需要与最大值组合,剩下的这俩个之间也需要进行组合,最佳的答案就是三个值之和除以2.

代码

class Solution {
public:int maximumScore(int a, int b, int c) {int max_val=0;// max_val=max(a,(b,c));max_val=max({a,b,c});if(max_val==a){if(a>=b+c){return b+c;}else{return (a+b+c)/2;}}else if(max_val==b){if(b>=a+c){return a+c;}else{return (a+b+c)/2;}}else {if(c>=a+b){return b+a;}else{return (a+b+c)/2;}}}
};

收获

观察题目很重要

538. 把二叉搜索树转换为累加树

538. 把二叉搜索树转换为累加树

题目介绍

给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。

提醒一下,二叉搜索树满足下列约束条件:

节点的左子树仅包含键 小于 节点键的节点。
节点的右子树仅包含键 大于 节点键的节点。
左右子树也必须是二叉搜索树。
注意:本题和 1038: https://leetcode-cn.com/problems/binary-search-tree-to-greater-sum-tree/ 相同

示例 1:
在这里插入图片描述
输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]
输出:[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]

示例 2:
输入:root = [0,null,1]
输出:[1,null,1]

思路

说实话力扣这个题目描述太笼统了,不太能看清除,

代码

收获

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...