LeetCode Sqrt(x) 解题报告
来源:互联网 发布:知乎网页版登录 编辑:程序博客网 时间:2024/05/17 21:09
http://oj.leetcode.com/problems/sqrtx/
求一个整数的平方根,如果该整数的平方根不是整数的话,返回平方根取整。
最简单办法,暴力搜索从1到N/2搜索但会TLE。
二分搜索,开始区间是1,终止区间是x。
AC代码:
public class Solution { public int sqrt(int x) { if(x<=1) { return x; } int begin = 1; int end = x; int middle = 0; while(begin<=end) { middle = begin + (end - begin)/2; //不要写成middle*middle==x,会溢出 if(middle==x/middle) { return middle; } else { if (middle<x/middle) { begin = middle + 1; } else { end = middle - 1; } } } //结束条件end一定<begin,所以返回end return end; }}这道题还有一种变形是给你一个数x,判断是否是一个完全平方数。基本思路一样,二分搜索1到x/2,结束条件是begin的平方大于x。
0 0
- LeetCode Sqrt(x) 解题报告
- LeetCode-Sqrt(x)-解题报告
- [LeetCode] Sqrt(x) 解题报告
- [leetcode] 69. Sqrt(x) 解题报告
- [Leetcode] 69. Sqrt(x) 解题报告
- LeetCode 69. Sqrt(x) 解题报告
- Sqrt(x)解题报告
- [LeetCode]sqrt(int x)解题报告之二分查找
- Leetcode 69. Sqrt(x) 开根号 解题报告
- Leetcode 69. Sqrt(x) 解题报告【C库函数sqrt(x)模拟-求平方根】
- [LeetCode] Sqrt(int x)解题报告之无限逼近(牛顿法)
- leetCode 69.Sqrt(x) (平方根) 解题思路和方法
- Leetcode Pow(x, n) 解题报告
- LeetCode-Pow(x, n)-解题报告
- [LeetCode] Pow(x, n) 解题报告
- [leetcode] 50. Pow(x, n) 解题报告
- [Leetcode] 50. Pow(x, n) 解题报告
- LeetCode: Sqrt(x)
- cxvxcvxer
- 我的2013、2014
- 枫叶天空Cocos2d-x3.0系列教程一 环境配置
- 统计文件中各单词出现的频率(二叉排序树实现)
- Cacti定制知识
- LeetCode Sqrt(x) 解题报告
- 大家新年好呀
- 2033——人见人爱A+B
- java笔记之封装,构造,重装
- 马年快乐
- 分享一个菜鸟级别的FMTextView 图文排版,支持两端对齐,自定义行高等
- [LeetCode]25.Reverse Nodes in k-Group
- CLRはCOMコンテキスト 0x1a02f0 からCOMコンテキスト 0x1a0460 へ60秒で移行できませんでした。
- C++ builder 6 编译时提示Unable to open file 'DCLUSR.LIB' 之解决办法