ToB企服应用市场:ToB评测及商务社交产业平台

标题: Leetcode3200. 三角形的最大高度 [打印本页]

作者: 风雨同行    时间: 2024-7-20 17:01
标题: Leetcode3200. 三角形的最大高度
Every day a Leetcode

题目来源:3200. 三角形的最大高度
解法1:模拟

枚举第一行是红色照旧蓝色,再按题意模拟即可。
代码:
  1. /*
  2. * @lc app=leetcode.cn id=3200 lang=cpp
  3. *
  4. * [3200] 三角形的最大高度
  5. */
  6. // @lc code=start
  7. class Solution
  8. {
  9. public:
  10.     int maxHeightOfTriangle(int red, int blue)
  11.     {
  12.         if (red <= 0 || blue <= 0)
  13.             return 0;
  14.         return max(helper(red, blue), helper(blue, red));
  15.     }
  16.     // 辅助函数
  17.     int helper(int x, int y)
  18.     {
  19.         int level = 0;
  20.         while (x >= 0 && y >= 0)
  21.         {
  22.             if (level % 2 == 0)
  23.             {
  24.                 x -= (level + 1);
  25.                 if (x < 0)
  26.                     break;
  27.             }
  28.             else
  29.             {
  30.                 y -= (level + 1);
  31.                 if (y < 0)
  32.                     break;
  33.             }
  34.             level++;
  35.         }
  36.         return level;
  37.     }
  38. };
  39. // @lc code=end
复制代码
结果:

复杂度分析:
时间复杂度:O(min(sqrt(red), sqrt(blue)))。
空间复杂度:O(1)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4