第八周:(LeetCode 441) Arranging Coins(c++)
来源:互联网 发布:子域名 编辑:程序博客网 时间:2024/06/06 04:46
原题:You have a total of n coins that you want to form in a staircase shape, where every k-th row must have exactly k coins.
Given n, find the total number of full staircase rows that can be formed.
n is a non-negative integer and fits within the range of a 32-bit signed integer.
Example 1:
n = 5
The coins can form the following rows:
¤
¤ ¤
¤ ¤
Because the 3rd row is incomplete, we return 2.
Example 2:
n = 8
The coins can form the following rows:
¤
¤ ¤
¤ ¤ ¤
¤ ¤
Because the 4th row is incomplete, we return 3.
思路:这是一道二分查找的简单题。由于上周写了个二分查找的变种写的不是很顺,所以这周专门找了一道二分查找的题来做做。这题要特别注意如果直接用int会有溢出的问题。
代码如下:
class Solution {public: int arrangeCoins(int n) { long long high=n,low=0,mid,result; while(low<=high){ mid=(high-low)/2+low; result=(mid+1)*mid/2; if(result>n){ high=mid-1; }else if(result<n){ low=mid+1; }else{ return mid; } } return high; }};
1 0
- 第八周:(LeetCode 441) Arranging Coins(c++)
- [leetcode 441]Arranging Coins
- Leetcode 441 Arranging Coins
- LeetCode 441 Arranging Coins
- LeetCode 441 Arranging Coins
- Leetcode 441 Arranging Coins
- leetcode 441--Arranging Coins
- Leetcode 441 - Arranging Coins(Math)
- LeetCode.441 Arranging Coins (经典数列求和应用)
- LeetCode 441. Arranging Coins
- LeetCode Arranging Coins
- LeetCode 441. Arranging Coins
- leetcode 441. Arranging Coins
- Leetcode: 441. Arranging Coins
- LeetCode 441. Arranging Coins
- Leetcode Arranging Coins
- 【LeetCode】 441. Arranging Coins
- LeetCode 441. Arranging Coins
- Ajax学习(1)
- 【uvalive-5970】【莫队】
- Sublime Text3 安装和使用方法
- 排序算法(C语言)
- Spring框架学习(9):通过FactoryBean的方法配置bean
- 第八周:(LeetCode 441) Arranging Coins(c++)
- 通过脚本学shell编程——相关基础知识(更新中)
- spring boot application.properties配置详解
- Debian 8 配置jdk环境变量
- Freemarker页面静态化
- Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.x86_64解决办法_gdb
- IP路由和路由表
- Mongodb之——CentOS安装Mongodb
- 动态规划专题之---- Unique Binary Search Trees