博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode笔记:Sqrt(x)
阅读量:4683 次
发布时间:2019-06-09

本文共 880 字,大约阅读时间需要 2 分钟。

一. 题目描写叙述

Implement int sqrt(int x).

Compute and return the square root of x.

二. 题目分析

该题要求实现求根公式,该题还算是比較简单的,由于仅仅需返回最接近的整数,直接二分法就可以。在实现的过程中还是有一些细节的,比方推断条件:x / mid > mid而不能是x > mid * mid。由于mid * mid会导致溢出。

三. 演示样例代码

#include 
using namespace std;class Solution{public: int sqrt(int x) { if (x == 0 || x == 1) return x; int min = 1, max = x / 2; // 根必在此区间中 // 二分查找 int mid, result; while (min <= max) { mid = min + (max - min) / 2; if (x / mid > mid) { // 根的平方需小于等于x,因此每次须在此处更新根的值 result = mid; min = mid + 1; } else if (x / mid < mid) max = mid - 1; else return mid; } return result; }};

一些执行结果:

这里写图片描写叙述

四. 小结

此题为分治思路的经典题型之中的一个。

转载于:https://www.cnblogs.com/cxchanpin/p/7353719.html

你可能感兴趣的文章
Spark的39个机器学习库
查看>>
Electron学习笔记(一)
查看>>
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
查看>>
配置NRPE的通讯
查看>>
VS2005编译VTK5.10.1
查看>>
shp系列(一)——利用C++进行shp文件的读(打开)与写(创建)开言
查看>>
总结上海永辉云商高级前端职位面试题集
查看>>
中国计算机学会推荐国际学术会议和期刊目录
查看>>
文本元素
查看>>
各种可以远程
查看>>
对服务器的认识
查看>>
分治法实现1-N的数字按字典序全排列组合 Java语言
查看>>
序列化 与 反序列化
查看>>
购物车
查看>>
python基础(一)
查看>>
UI设计篇·入门篇·绘制简单自定义矩形图/设置按钮按下弹起颜色变化/设置图形旋转...
查看>>
linux 使用NSF 映射远程磁盘目录
查看>>
elasticjob 当当的分布式定时任务管理
查看>>
BZOJ 3438: 小M的作物( 最小割 )
查看>>
js性能优化-事件委托(2)
查看>>