Leetcode441. Arranging Coins
来源:互联网 发布:c语言函数或 编辑:程序博客网 时间:2024/06/11 09:17
题目描述:
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 = 5The coins can form the following rows:¤¤ ¤¤ ¤Because the 3rd row is incomplete, we return 2.
Example 2:
n = 8The coins can form the following rows:¤¤ ¤¤ ¤ ¤¤ ¤Because the 4th row is incomplete, we return 3.
题意描述:
对于给定的给定的一个整数,对它进行以上面的方式进行排序。
解决方案:
对于这道题,首先我们可以使用累加的方式进行求解,时间复杂度为O(n),空间复杂度为O(1).
还有我们可以发现,这也是一道典型的二分法的问题,参照之前的http://blog.csdn.net/qq_27896185/article/details/53385247Leetcode278.First Bad Version,这两道题的思路是一样都,都是寻找第一个比输入整数大的位置,或者是等于的位置。
具体实现:
public class Solution { public int arrangeCoins(int n) { if (n <= 0) { return 0; } long start = 1; long end = n; while (start + 1 < end) { long mid = start + (end - start)/2; long sum = (1 + mid)*mid/2; if (sum > n) { end = mid; } else if (sum < n) { start = mid; } else { return (int)mid; } } if (((start+1)*start/2) > n) { return (int) (start - 1); } else if (((start+1)*start/2) == n) { return (int) start; } else { return (int) (end - 1); } } }
这里面我们需要注意的是,leetcode测试时使用1804289383进行测试,所有没有通过,我们要对long类型的数字进行强转。对于累加方式,我就不进行实现了。
0 0
- Leetcode441. Arranging Coins
- Leetcode441. Arranging Coins
- leetcode441. Arranging Coins
- Arranging Coins
- Arranging Coins
- Arranging Coins
- Arranging Coins
- Arranging Coins
- Arranging Coins
- Arranging Coins
- LeetCode 441. Arranging Coins
- 441. Arranging Coins
- 441. Arranging Coins
- 441. Arranging Coins
- LeetCode Arranging Coins
- 441. Arranging Coins
- LeetCode 441. Arranging Coins
- 441. Arranging Coins
- @ComponentScan注释类型的参数含义,包含excludeFilters,includeFilters等其他参数
- python2.7 安装pypcap出错 pcap.h not found
- 浅谈hadoop(四)——hadoop简介
- python爬去易车网某地市经销商信息
- Android Dagger2 MVP架构 一看就明白
- Leetcode441. Arranging Coins
- iOS原生二维码扫描(二)
- Unity 调整画质(贴图)质量
- labview调用VC++生成的动态链接库DLL
- SugarORM遇到的那些坑(二)
- 实用的Unity3D基于TCP/IP协议的网络通信框架--客户端
- ButterKnife8.4.0导入步骤
- jQuery 自定义函数
- html5画线,html5画圆,html5渐变颜色,html5画图