Leetcode3200. 三角形的最大高度

Every day a Leetcode

题目来源:3200. 三角形的最大高度

解法1:模拟

枚举第一行是红色还是蓝色,再按题意模拟即可。

代码:

c 复制代码
/*
 * @lc app=leetcode.cn id=3200 lang=cpp
 *
 * [3200] 三角形的最大高度
 */

// @lc code=start
class Solution
{
public:
    int maxHeightOfTriangle(int red, int blue)
    {
        if (red <= 0 || blue <= 0)
            return 0;

        return max(helper(red, blue), helper(blue, red));
    }
    // 辅助函数
    int helper(int x, int y)
    {
        int level = 0;
        while (x >= 0 && y >= 0)
        {
            if (level % 2 == 0)
            {
                x -= (level + 1);
                if (x < 0)
                    break;
            }
            else
            {
                y -= (level + 1);
                if (y < 0)
                    break;
            }
            level++;
        }
        return level;
    }
};
// @lc code=end

结果:

复杂度分析:

时间复杂度:O(min(sqrt(red), sqrt(blue)))。

空间复杂度:O(1)。

相关推荐
ALex_zry15 小时前
C++网络编程心跳机制与连接保活:长连接稳定性保障
开发语言·网络·c++
学嵌入式的小杨同学15 小时前
STM32 进阶封神之路(三十二):SPI 通信深度实战 —— 硬件 SPI 驱动 W25Q64 闪存(底层时序 + 寄存器配置 + 读写封装)
c++·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
米粒115 小时前
力扣算法刷题 Day 27
算法·leetcode·职场和发展
好大哥呀16 小时前
C++ Web 编程
开发语言·前端·c++
Mr_Xuhhh16 小时前
LeetCode hot 100(C++版本)(上)
c++·leetcode·哈希算法
漫随流水17 小时前
c++编程:反转字符串(leetcode344)
数据结构·c++·算法
南境十里·墨染春水17 小时前
C++ 笔记 友元(面向对象)
开发语言·c++·笔记
C++ 老炮儿的技术栈18 小时前
分享一个安全的CString
c语言·c++·windows·git·安全·visual studio
穿条秋裤到处跑18 小时前
每日一道leetcode(2026.03.31):字典序最小的生成字符串
算法·leetcode
桦018 小时前
[C++复习]:STL
开发语言·c++