LeetCode 69 — Sqrt(x)(C++ Java Python)
来源:互联网 发布:泰诺和快克哪个好 知乎 编辑:程序博客网 时间:2024/06/05 18:36
题目:http://oj.leetcode.com/problems/sqrtx/
Implement int sqrt(int x)
.
Compute and return the square root of x.
题目翻译:
实现int sqrt(int x)。
计算并返回x的平方根。
分析:
二分查找。注意结果不是整数时应返回整数部分。
C++实现:
class Solution {public: int sqrt(int x) { // Note: The Solution object is instantiated only once and is reused by each test case. if(x < 2) { return x; } int left = 1; int right = x / 2; int mid = 0; int lastMid = 0; while(left <= right) { mid = (left + right) / 2; if(x / mid > mid) { left = mid + 1; lastMid = mid; } else if(x / mid < mid) { right = mid - 1; } else { return mid; } } return lastMid; }};
Java实现:
public class Solution { public int sqrt(int x) { // Note: The Solution object is instantiated only once and is reused by each test case.if (x < 2) {return x;}int low = 1;int high = x / 2;int mid = 0;int lastMid = 0;while (low <= high) {mid = (low + high) / 2;if (x / mid > mid) { low = mid + 1;lastMid = mid; } else if (x / mid < mid) {high = mid - 1;} else {return mid;}}return lastMid; }}
Python实现:
class Solution: # @param x, an integer # @return an integer def sqrt(self, x): if x < 2: return x left = 1 right = x / 2 while left <= right: mid = (left + right) / 2 if(x > mid * mid): left = mid + 1 lastMid = mid elif(x < mid * mid): right = mid - 1 else: return mid return lastMid
感谢阅读,欢迎评论!
0 0
- LeetCode 69 — Sqrt(x)(C++ Java Python)
- 【leetcode】69. Sqrt(x)(Python & C++)
- 【Leetcode】【python】Sqrt(x)
- LeetCode--Sqrt(x)Python
- LeetCode(69) Sqrt(x)
- LeetCode-69-Sqrt(x) Python要用math.sqrt()
- [Leetcode] Sqrt(x) (Java)
- Sqrt(x) -- LeetCode (Java)
- [LeetCode][Java] Sqrt(x)
- leetcode:Sqrt(x) 【Java】
- LeetCode 之 Sqrt(x) — C 实现
- [leetcode:python]69.Sqrt(x)
- Leetcode 69 sqrt(x)
- leetcode 69 Sqrt(x)
- [leetcode 69] Sqrt(x)
- [leetcode] 69 Sqrt(x)
- leetcode-69 Sqrt(x)
- LeetCode 69 Sqrt(x)
- Linux 进程间通信 - 共享内存
- lsof 命令详解
- gdb调试时No symbol "var" defined in current context && No Register
- 创业者 30岁前不要在乎的28件事
- JSP学习笔记:用multipart/form-data提交表单get非文件字段获取的解决办法
- LeetCode 69 — Sqrt(x)(C++ Java Python)
- 数学专题训练2
- POJ 3181 Dollar Dayz DP
- this web application instance has been stopped already
- 算法时间复杂度-平方阶
- 蓝桥杯 算法训练 操作格子 (最基本的线段树)
- android开发常见问题(二)
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- 以色列技术!Amimon无线WHDI技术解析