wy的leetcode刷题记录_Day60

news2025/1/20 21:51:30

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]

思路

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

代码

收获

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

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

相关文章

Java 异常(Exceptions)

目录 1、什么是异常? 2、捕获并处理异常 try-with-resources 语句 3、通过方法抛出异常 自定义异常 1、什么是异常? 定义:异常是在程序执行过程中发生的一种事件,它会中断程序指令的正常流程。 当方法中发生错误时&#xff0…

2022年我国止血药行业市场规模不断增长 激活凝血因子活性药是主流产品

根据观研报告网发布的《中国止血药市场现状深度研究与发展前景分析报告(2022-2029年)》显示,止血药主要是指凡能够制止体内外出血的药物,主要适用于各部位出血病症,如咯血、衄血、吐血、尿血、便血、崩漏、紫癜及创伤出…

记录一次使用 Ubuntu 编译 Wakaama 踩坑过程

1. 背景 公司项目需要使用 LwM2M 协议,由于是个相对冷门的小众协议,客户端模拟器几乎没有,只有 Eclipse Wakaama 相对来说功能齐全、易用,但是这个软件没有编译好的程序包,只能从 Github 拉取源码手动编译运行。 不知道…

操作系统期末知识点复习

操作系统知识点总结 参考用书:计算机操作系统(第四版)汤小丹等著 1、必考知识点 第一章 操作系统引论 操作系统的概念及特征操作系统的运行环境 第二章 进程的描述与控制 进程状态与转换同步与互斥的基本概念信号量信号量的基本应用生产者消…

Nacos的配置中心的了解

目录 1. 为何需要配置中心 2. nacos的配置中心 2.1 配置示例 2.2 多环境配置 2.3 GROUP 2.4 namespace 1. 为何需要配置中心 没有配置中心的情况下会出现什么情况: 如果没有配置中心,则各个服务的配置文件分散在各个项目中,不方便维护…

不用光盘重装系统如何操作

​光盘重装系统是之前十分常用的系统安装方法,随着科技的飞速发展,现如今重装系统的方法五花八门,一键重装系统以及U盘重装系统等方法的出现取代了光盘重装系统,这里就来介绍一下不用光盘重装系统操作方法。 工具/原料: 系统版本:windows10系统 品牌型…

Kotlin协程笔记:CoroutineScope管理协程

CoroutineScope 是实现协程结构化并发的关键。使用 CoroutineScope,可以批量管理同一个作用域下面所有的协程。 CoroutineScope 与 结构化并发 launch、async 被定义成了 CoroutineScope 扩展函数。在调用 launch 之前,必须先获取 CoroutineScope。 pub…

高级又高效的属性表编辑技术,你值得拥有!

当你要按关键词选择内容,无从下手? 当你要修改字段的部分内容,不知所措? 当你要提取出字段的某些内容,毫无头绪? 当你要按照位数来提取字符内容,力不从心? 当你要为字段补充一些新的内容,目瞪口呆? 当你要把一个字段分割成多个字段,抓耳挠腮? ...... 属性表的…

CUDA ~ WarpReduce

又是一篇关于cuda的 要好好学学哦, CUDA 编程进阶分享,一些 warp 的使用 如何实现一个高效的Softmax CUDA kernel?多少还是有些细节没有理解,恰好最近要做一个类似的 ReduceScale Kernel,原理机制还是比较相似的,所以…

CSS -- 10. 移动WEB开发之rem布局

文章目录移动WEB开发之rem布局1 rem基础2 媒体查询2.1 什么是媒体查询2.2 语法规范2.3 mediatype 查询类型2.4 关键字2.5 媒体特性2.6 案例:根据页面宽度改变背景颜色2.7 媒体查询rem实现元素动态大小变化2.8 针对不同的屏幕尺寸引入不同的样式文件3 Less基础3.1 维…

8000字详解Thread Pool Executor

摘要:Java是如何实现和管理线程池的?本文分享自华为云社区《JUC线程池: ThreadPoolExecutor详解》,作者:龙哥手记 。 带着大厂的面试问题去理解 提示 请带着这些问题继续后文,会很大程度上帮助你更好的理解相关知识点。pdai …

数据泄露成数据安全最大风险,企业如何预防呢?

据《中国政企机构数据安全风险分析报告》显示,2022年1月——2022年10月,安全内参共收录全球政企机构重大数据安全报道180起,其中数据泄露相关安全事件高达93起,占51.7%。与近三年平均每月公开报道频次相比,2022年相较前…

如何在3DMAX中不使用Maxscript或插件破碎物体对象?

在3DMAX中破碎物体我们通常会借助Maxscript或者插件,其实,不借助任何其他工具,3DMAX也可以实现对物体的破碎,下面就给大家介绍一种方法: 1.首先,创建一个破碎对象,比如一个石块(或者…

AI趋势下,小布助手的进化论

“要构建人工智能等高精尖产业的新增长引擎”,随着人工智能在未来全球科技经济中的重要作用愈加凸显,当前产业已然获得了有史以来最强的政策建构力量。 随着政策的利好,中国人工智能进入一个前所未有的快速发展阶段。企查查数据显示&#xf…

疫情下的在线教学数据观

由于新型冠状病毒感染的肺炎疫情影响,剧烈增长的市场需求助推了在线教育的发展,同时也暴露了一些问题。 最近我们被客户要求撰写关于疫情的研究报告,包括一些图形和统计输出。 在本文中,我们结合了对100多个高中学生进行的在线教…

快讯 | 嘉为蓝鲸受邀出席汽车新智造数字行业峰会,助力构建数字时代竞争力!

12月9日,第五届GADI汽车新智造数字创新行业峰会暨年度评选盛典于上海圆满落幕,嘉为蓝鲸受邀出席。本届大会以“数智创新 赋能破局”为主题,多方面切入解读新能源汽车的数字化发展趋势,助力车企构建数字时代竞争力。 01 研运一体&a…

数据通信基础 - 信道特性(奈奎斯特定理、香农定理 )

文章目录1 概述1.1 通信系统模型图2 信道特性2.1 信道带宽 W2.2 奈奎斯特定理 - 无噪音2.3 香农定理 - 有噪音2.4 带宽、码元速率、数据速率 关系梳理3 网工软考真题1 概述 1.1 通信系统模型图 通信的目的:传递信息 2 信道特性 2.1 信道带宽 W 模拟信道&#…

数据中台选型必读(六):说说数据服务的七大核心功能

在前面的文章中,我们介绍了数据中台的元数据中心、指标字典与指标体系、数据模型设计、数据质量评估等内容,这些都是One Data理念下数据中台架构的重要部分。 我们今天要讲的One Service——统一数据服务,指的是由数据中台提供统一的数据接入…

搭建自动发卡网站搭建教程(独角数卡)保姆级教程,支付 + 图文

自动发卡网站 程序是开源的独角数卡 我搭建了一个这样的 wooknow自动销售发卡http://ok.54ndd.com/ 一个在线销售虚拟产品的平台。你应该见过这样的发卡平台。一些虚拟产品,如软件、激活码和会员可以放在上面出售。我在这里使用的发卡项目是一个开源的单字符数字…

Matplotlib怎么创建 axes 对象?

在 matplotlib 中,有几种常见的方法来创建 axes 对象: 1.使用 subplots 函数: import matplotlib.pyplot as pltfig, ax plt.subplots()subplots 函数会创建一个新的图形(figure)并返回一个包含单个子区域&#xff…