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

蓝桥与力扣刷题(441 排列硬币)

题目:你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。

给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。

示例 1:

输入:n = 5
输出:2
解释:因为第三行不完整,所以返回 2 。

示例 2:

输入:n = 8
输出:3
解释:因为第四行不完整,所以返回 3 。

解题思路+代码:

代码:

class Solution {
    public int arrangeCoins(int n) {
        // 初始化二分查找的左右边界
        int left = 1, right = n;
        while (left < right) {
            // 使用 (right - left + 1) / 2 + left 的方式避免整数溢出
            int mid = (right - left + 1) / 2 + left;
            // 检查 mid 行的硬币总数是否小于等于 2n
            if ((long) mid * (mid + 1) <= (long) 2 * n) {
                left = mid;
            } else {
                // 向左移动
                right = mid - 1;
            }
        }
        return left;
    }
}

总结:这道题利用二分查找的知识点进行解答,具体细节看代码吧~(今天有点累了,明天加更练习)

http://www.dtcms.com/a/61131.html

相关文章:

  • 【Hadoop】
  • sublime text 中添加copilot
  • 【spring】配置类和整合Junit
  • Dubbo、SpringCloud框架学习
  • 批量将 Excel 转换 PDF/Word/CSV以及图片等其它格式
  • OpenHarmony子系统开发 -- 构建系统编码规范与最佳实践
  • 非软件开发项目快速上手:14款管理软件精选
  • Flutter开发避坑指南:高频问题排查与性能调优实战
  • 【互联网性能指标】QPS/TPS/PV/UV/IP/GMV/DAU/MAU/RPS
  • 探秘稀疏注意力:高效计算的新钥匙
  • 自学网络安全(黑客技术)2025年 —90天学习计划
  • 《Android APP 启动流程深度解析》
  • PostgreSQL-01-入门篇-简介
  • 天梯选拔赛赛后补题
  • 一键装数据库脚本3分钟极速部署,传统耗时砍掉95%!
  • 基于STM32的逻辑分析仪
  • MoonSharp 文档二
  • 蓝桥杯FPGA-ds1302驱动
  • 九点标定和十二点标定的区别
  • 【问题记录】如何编译nv_peer_memory模块?依赖OFED的4个目录和2类文件?如何解决没有rdma/peer_mem.h文件?
  • Python 远程抓取服务器日志最后 1000行
  • Vue3 路由的历史记录 如何不允许浏览器前进后退 在函数中使用路由切换组件 路由的重定向
  • 鸿基智启:东土科技为具身智能时代构建确定性底座
  • 英国赫瑞瓦特大学激光雷达领域研究概述2025.3.11
  • 计算机毕业设计:公寓管理系统
  • Ubuntu本地部署Open manus(完全免费可用)
  • 【OpenCV C++】存图,如何以时间命名,“年月日-时分秒“产生唯一的文件名呢?“年月日-时分秒-毫秒“ 自动检查存储目录,若不存在自动创建存图
  • FB投广探秘:为何Facebook广告账户不消耗
  • Unity安卓Android从StreamingAssets加载AssetBundle
  • Redis的高可用