首页 > 其他分享 >力扣-441. 排列硬币

力扣-441. 排列硬币

时间:2023-04-02 14:23:11浏览次数:42  
标签:硬币 int 441 阶梯 力扣 ArrangeCoins

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

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

应该首先判断数据源是否是有序的,先二分。

var rs = ArrangeCoins(1804289383);

static int ArrangeCoins(int n) {
        if(n <= 0) return 0;
        // 二分
        long l = 1,r = n,mid = 0,rst = 0;
        while(l <= r)
        {
            mid = l + (r-l)/2;
            Console.WriteLine((1 + mid)*mid/2);
            if((1 + mid)*mid/2 <= n)
            {
                // 取小于的
                rst = mid;
                l = mid + 1;
            }else
            {
                r = mid - 1;
            } 
        }
        return (int)rst;  
    }

 

标签:硬币,int,441,阶梯,力扣,ArrangeCoins
From: https://www.cnblogs.com/Insist-Y/p/17280396.html

相关文章

  • 力扣---剑指 Offer 12. 矩阵中的路径
    给定一个 mxn二维字符网格 board和一个字符串单词 word。如果 word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 例如,......
  • 力扣610(MySQL)-判断三角形(简单)
    题目:表: Triangle写一个SQL查询,每三个线段报告它们是否可以形成一个三角形。以 任意顺序 返回结果表。查询结果格式如下所示。示例1: 解题思路:判断是否形成三角形的准则是:两边之和大于第三边。方法一:casewhen1#WriteyourMySQLquerystatementbelow2select......
  • 力扣608(MySQL)-树节点(中等)
    题目:给定一个表 tree,id 是树节点的编号, p_id 是它父节点的 id。 树中每个节点属于以下三种类型之一:叶子:如果这个节点没有任何孩子节点。根:如果这个节点是整棵树的根,即没有父节点。内部节点:如果这个节点既不是叶子节点也不是根节点。写一个查询语句,输出所有节点的编号......
  • 力扣607(MySQL)-销售员(简单)
    题目:表: SalesPerson 表: Company 表: Orders编写一个SQL查询,报告没有任何与名为“RED”的公司相关的订单的所有销售人员的姓名。以任意顺序返回结果表。查询结果格式如下所示。示例:  解释:根据表 orders 中的订单'3'和'4',容易看出只有'John'和'......
  • 力扣603(MySQL)-连续空余座位(简单)
    题目:几个朋友来到电影院的售票处,准备预约连续空余座位。你能利用表cinema,帮他们写一个查询语句,获取所有空余座位,并将它们按照seat_id排序后返回吗? 对于如上样例,你的查询语句应该返回如下结果。注意:seat_id字段是一个自增的整数,free字段是布尔类型(‘1’表示空余,‘0......
  • 力扣---剑指 Offer 57. 和为s的两个数字
    输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例1:输入:nums=[2,7,11,15],target=9输出:[2,7]或者[7,2]示例2:输入:nums=[10,26,30,31,47,60],target=40输出:[10,30]或者[30,10] 限......
  • 力扣---剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。 示例:输入:nums= [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4]也是正确的答案之一。 提示:0<=nums.length<=500000<=nums[i]<=10000来源:力扣(LeetCode)链接:ht......
  • 力扣602(MySQL)-好友申请Ⅱ:谁有最多的好友(中等)
    题目:在Facebook或者Twitter这样的社交应用中,人们经常会发好友申请也会收到其他人的好友申请。RequestAccepted表:(requester_id,accepter_id)是这张表的主键。这张表包含发送好友请求的人的ID,接收好友请求的人的ID,以及好友请求通过的日期。问题写一个查询语句,找出......
  • 力扣601(MySQL)-体育馆的人的流量(困难)
    题目:表:Stadium编写一个SQL查询以找出每行的人数大于或等于100且id连续的三行或更多行记录。返回按visit_date升序排列的结果表。查询结果格式如下所示示例1:  解释:id为5、6、7、8的四行id连续,并且每行都有>=100的人数记录。请注意,即使第7行和第8行......
  • 力扣---面试题 01.09. 字符串轮转
    字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。示例1:输入:s1="waterbottle",s2="erbottlewat"......