当前位置: 首页 > news >正文

LeetCode 3200.三角形的最大高度:枚举

【LetMeFly】3200.三角形的最大高度:枚举

力扣题目链接:https://leetcode.cn/problems/maximum-height-of-a-triangle/

给你两个整数 redblue,分别表示红色球和蓝色球的数量。你需要使用这些球来组成一个三角形,满足第 1 行有 1 个球,第 2 行有 2 个球,第 3 行有 3 个球,依此类推。

每一行的球必须是 相同 颜色,且相邻行的颜色必须 不同

返回可以实现的三角形的 最大 高度。

 

示例 1:

输入: red = 2, blue = 4

输出: 3

解释:

上图显示了唯一可能的排列方式。

示例 2:

输入: red = 2, blue = 1

输出: 2

解释:


上图显示了唯一可能的排列方式。

示例 3:

输入: red = 1, blue = 1

输出: 1

示例 4:

输入: red = 10, blue = 1

输出: 2

解释:


上图显示了唯一可能的排列方式。

 

提示:

  • 1 <= red, blue <= 100

解题方法:枚举

使用一个大小为2的数组记录layer层所需两种颜色分别多少个。

使用layer从1层开始模拟,每次两种颜色分别加上layer。如果球数不足,则停止枚举layer。

  • 时间复杂度 O ( min ⁡ ( r e d , b l u d ) ) O(\min(\sqrt{red}, \sqrt{blud})) O(min(red ,blud )),因为 1 + 2 + 3 + . . . + k = n ( n + 1 ) 2 1+2+3+...+k=\frac{n(n+1)}{2} 1+2+3+...+k=2n(n+1)
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++
class Solution {
public:int maxHeightOfTriangle(int red, int blue) {int cnt[2] = {0, 0};int layer = 1;while (true) {cnt[layer % 2] += layer++;if (!((cnt[0] <= red && cnt[1] <= blue) || (cnt[0] <= blue && cnt[1] <= red))) {return layer - 2;}}}
};
Python
class Solution:def maxHeightOfTriangle(self, red: int, blue: int) -> int:cnt = [0, 0]for layer in range(1, 1000000):cnt[layer % 2] += layerif not ((cnt[0] <= red and cnt[1] <= blue) or (cnt[0] <= blue and cnt[1] <= red)):return layer - 1return -1  # Fake Return

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

Tisfy:https://letmefly.blog.csdn.net/article/details/142967272

相关文章:

LeetCode 3200.三角形的最大高度:枚举

【LetMeFly】3200.三角形的最大高度&#xff1a;枚举 力扣题目链接&#xff1a;https://leetcode.cn/problems/maximum-height-of-a-triangle/ 给你两个整数 red 和 blue&#xff0c;分别表示红色球和蓝色球的数量。你需要使用这些球来组成一个三角形&#xff0c;满足第 1 行…...

ssm基于java的招聘系统设计与开发+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码请私聊我 需要定制请私聊 目 录 第1章 绪论 1 1.1 课题背景 1 1.2 课题意义 1 1.3 研究内容 1 第2章 开发环境与技术 3 2.1 Java语言…...

【网络原理】TCP/IP五层网络模型之网络层-----IP协议详解,建议收藏!!

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;计算机网络那些事 前几篇文章中我们深入研究了TCP协议&#xff0c;因为TCP协议在我们日常开发中的使用频率非常高。而相比之下&#xff0c;IP协议与我们普通程序员关系就没那么近了。一般是专门开发…...

三次握手与四次挥手

一、三次握手 AB之间 都会发送一个syn - ack。 A 先发 syn ,B收到 。 A: 什么都不知道 B:知道A可以发送。 B发送syn-ack,A收到 。 A: 知道B可以收也可以发 , B知道A可以发送。 A发送ack&#xff0c;B收到。 A &#xff1a; 知道B可以收也可以发 , B知道A…...

awk命令学习记录

awk命令 awk命令 表示将一行数据按特定分割符分割成多列&#xff0c;而从而选取特定列数的数据&#xff0c;默认分割符为空格&#xff0c;连接符默认也是空格 // 1. 更换分割符 awk -F : 1.txt // 1.txt为你的文件名 // 2. 打印多列 awk {print $1,$2} // $0为整行&#xff…...

科大讯飞嵌入式面试题及参考答案

平衡二叉树和普通二叉树的区别 平衡二叉树是一种特殊的二叉树&#xff0c;与普通二叉树相比有以下显著区别&#xff1a; 一、定义与结构 普通二叉树&#xff1a;二叉树是每个节点最多有两个子树的树结构。它没有特定的平衡要求&#xff0c;节点的分布可能比较随机。例如&#x…...

C Lua5.4.6 SDK开发库

下载 .lua执行 #include "lua.h" #include "lualib.h" #include "lauxlib.h"static int luaopen_ui(lua_State *L) {static const struct luaL_Reg lib_f[] = {{"saveFile", saveFile},{"loadFile", loadFile},{NULL, NULL…...

无线网卡知识的学习-- wireless基础知识(cfg80211)

1. 基本概念 mac80211 :这是最底层的模块,与hardware offloading 关联最多。 mac80211 的工作是给出硬件的所有功能与硬件进行交互。(Kernel态) cfg80211:是设备和用户之间的桥梁,cfg80211的工作则是观察跟踪wlan设备的实际状态. (Kernel态) nl80211: 介于用户空间与内核…...

Next.js 学习 - 路由系统(Routing)

Next.js 的路由系统基于文件系统&#xff0c;这意味着文件和文件夹的结构决定了 URL 路径。相较于传统的 React 应用中的路由配置&#xff0c;Next.js 的文件路由系统非常简洁和自动化。下面是对 Next.js 路由的详细介绍。 1. 目录结构 在 Next.js 13 中&#xff0c;app 目录…...

Unity XR PICO 手势交互 Demo APK

效果展示 用手抓取物体&#xff0c;调整物体位置和大小等 亲测pico4 企业版可用&#xff0c; 其他设备待测试 下载链接&#xff1a; 我标记的不收费 https://download.csdn.net/download/qq_35030499/89879333...

EM算法学习

1.EM算法的介绍 可以发现&#xff1a;计算出θA和θB的值的前提是知道A、B币种的抛掷情况。 所以我们需要使用EM算法&#xff1a;求出每轮选择硬币种类的概率 2.EM算法执行过程&#xff1a; 第一步&#xff1a;首先初始化设置一组PA和PB证明的值。然后通过最大似然估计得到每…...

019_基于python+django食品销售数据分析系统2024_4032ydxt

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…...

C语言笔记(数据的存储篇)

目录 1.数据类型的详细介绍 2.整型在内存中的存储&#xff1a;原码、反码、补码 3.大小端字节序介绍及判断 4.浮点型的内存中的存储解析 1.数据类型的详细介绍 下述是内置类型&#xff1a; char // 字符数据类型 short // 短整型 int // 整型 long …...

wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理的解决方法

前言 开头先讲讲wsl2启用代理的必要性&#xff0c;一般来说&#xff0c;会用wsl的都是开发者&#xff0c;那么就避免不了从网络上下载软件和应用&#xff0c;但是由于众所周知的原因&#xff0c;你使用apt&#xff0c;wget等工具下载国外网站的东西时&#xff0c;下载速度就会…...

CSS 居中那些事

一、父子元素高度确定 简单粗暴, 直接通过设置合适的 padding 或 margin 实现居中 <style>.p {padding: 20px 0;background: rgba(255, 0, 0, 0.1);}.c {width: 40px;height: 20px;background: blue;} </style> <div class"p"><div class"…...

Java项目-基于springboot框架的智能热度分析和自媒体推送平台项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…...

跨平台进程池背后的思想

背景是基于业务需求,需要实现一个跨平台的项目。项目中由于有部分功能存在大量计算,所以打算单独分配一个进程去进行计算。 进程池的实现与线程池的实现逻辑上如出一辙。但是实现上进程池的实现会比线程池实现复杂的多,主要比较复杂的点的就在于并发安全的任务队列。…...

前端性能优化之加载篇

前端页面加载的过程其实跟我们常常提起的浏览器页面渲染流程几乎一致: 网络请求,服务端返回 HTML 内容。 浏览器一边解析 HTML,一边进行页面渲染。 解析到外部资源,会发起 HTTP 请求获取,加载 Javascript 代码时会暂停页面渲染。 根据业务代码加载过程,会分别进入页面开始…...

数据结构(栈)

每当误会消除冰释前嫌的时候&#xff0c;故事就距离结尾不远了。 栈 概念与结构 1. 栈⼀种特殊的线性表&#xff0c;其只允许在固定的⼀端进行插入和删除元素操作。 2. 进行数据插入和删除操作的⼀端称为栈顶&#xff0c;另⼀端称为栈底。 3. 栈中的数据元素遵守后进先出的原则…...

Aspose.PDF功能演示:使用 JavaScript 从 PDF 中提取文本

在数据提取、业务文档自动化和文本挖掘方面&#xff0c;使用 JavaScript 从PDF中提取文本非常有用。它允许开发人员自动执行从 PDF 收集信息的过程&#xff0c;从而显著提高处理大量文档的生产力和效率。在这篇博文中&#xff0c;我们将学习如何使用 JavaScript 从 PDF 中提取文…...

OPUS编解码器在audio DSP上的移植和应用贩

前言 在使用 kubectl get $KIND -o yaml 查看 k8s 资源时&#xff0c;输出结果中包含大量由集群自动生成的元数据&#xff08;如 managedFields、resourceVersion、uid 等&#xff09;。这些信息在实际复用 yaml 清单时需要手动清理&#xff0c;增加了额外的工作量。 使用 kube…...

Pixel Dream Workshop集成Dify应用流:构建AI绘画工作台实战

Pixel Dream Workshop集成Dify应用流&#xff1a;构建AI绘画工作台实战 1. 为什么需要AI绘画工作流自动化 电商公司每天需要生产数百张商品展示图&#xff0c;自媒体团队每周要创作几十套视觉内容&#xff0c;游戏工作室的角色设计需求源源不断。传统人工绘制方式不仅成本高、…...

Phi-4-mini-reasoning 3.8B Node.js环境配置与模型调用全指南

Phi-4-mini-reasoning 3.8B Node.js环境配置与模型调用全指南 1. 前言&#xff1a;为什么选择Phi-4-mini-reasoning&#xff1f; Phi-4-mini-reasoning 3.8B是微软推出的轻量级推理模型&#xff0c;特别适合需要快速响应的应用场景。相比动辄几十B参数的大模型&#xff0c;这…...

Debian系统安装与配置全攻略:从下载到优化

1. 为什么选择Debian系统 第一次接触Linux系统时&#xff0c;面对众多发行版的选择确实容易让人眼花缭乱。经过多年使用&#xff0c;我发现Debian特别适合作为长期稳定的工作环境。它不仅被广泛应用于服务器领域&#xff0c;也是许多热门发行版&#xff08;如Ubuntu、Kali Lin…...

PyTorch 2.8深度学习镜像部署:RTX 4090D下NVIDIA Triton模型仓库构建

PyTorch 2.8深度学习镜像部署&#xff1a;RTX 4090D下NVIDIA Triton模型仓库构建 1. 镜像环境概述 PyTorch 2.8深度学习镜像为RTX 4090D显卡量身打造&#xff0c;基于CUDA 12.4深度优化&#xff0c;提供开箱即用的高性能计算环境。这个镜像特别适合需要大规模并行计算和高效内…...

项目环境的搭建,项目的初步使用和deepseek的初步认识

1.环境搭建这个项目使用的是字节旗下的trae开发环境项目开始前首先得连接远程终端&#xff0c;要么是虚拟机要么是云服务器从远端克隆完头文件后再到本地来编译 编译完成后要将编译好的库文件以及头文件进行安装 安装到系统的根目录 这样以后用可以找到这样用到的头文件就拷贝…...

高效备战2026年上海初中古诗文大会【多选题】:背熟这份高频考点

今天距离2026年上海初中古诗文大会启动还有2个多月&#xff08;通常6月底7月初启动&#xff0c;发布比赛方案和流程&#xff09;&#xff0c;正式比赛还有5个多月&#xff08;通常10月初开始&#xff0c;分为初选、复选、决选三轮&#xff09;。现在就读五年级到八年级的上海的…...

SHTC3温湿度传感器Arduino底层驱动库详解

1. 项目概述Deneyap Sıcaklık Nem ler&#xff0c;即 Deneyap 温湿度传感器模块&#xff08;型号 M01&#xff0c;MPV1.0&#xff09;&#xff0c;是一款面向土耳其教育与创客生态的嵌入式环境感知单元&#xff0c;其核心传感元件为 Sensirion 公司出品的 SHTC3 数字温湿度传…...

Windows Defender系统优化工具:提升系统性能的终极方案

Windows Defender系统优化工具&#xff1a;提升系统性能的终极方案 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mirrors/wi…...

8250串行通信避坑指南:如何用内环测试快速定位硬件故障(附Proteus仿真文件)

8250串行通信避坑指南&#xff1a;如何用内环测试快速定位硬件故障 在嵌入式系统开发中&#xff0c;串行通信故障排查往往是最令人头疼的问题之一。当你面对一个无法正常通信的系统时&#xff0c;问题可能出在硬件连接、芯片配置、软件逻辑或者中断处理等任何一个环节。而8250这…...