作品分享
问答交流
发现
任务
客服工单
给你一个非负整数 x ,盘算并返回 x 的 算术平方根 。 由于返回范例是整数,结果只保存 整数部分 ,小数部分将被 舍去 。 留意:不允许利用任何内置指数函数和算符,比方 pow(x, 0.5) 大概 x ** 0.5 。
示例 1: 输入:x = 4 输出:2 示例 2: 输入:x = 8 输出:2 表明:8 的算术平方根是 2.82842..., 由于返回范例是整数,小数部分将被舍去。
提示: 0 <= x <= 231 - 1
从标题的要求和示例我们可以看出,这实在是一个查找非负整数的题目,而且这个整数是有范围的。 如果这个整数的平方便是输入整数,那么这个整数就是结果。 如果这个整数的平方大于输入整数,那么这个整数肯定不是结果。 如果这个整数的平方小于输入整数,那么这个整数大概是结果。 因此我们可以利用「二分查找」来查找这个整数,不停缩小范围去找 猜的数平方以后大了就往小了猜; 猜的数平方以后恰好恰便是输入的数就找到了; 猜的数平方以后小了,大概猜的数就是,也大概不是。
举报
Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )
GMT+8, 2025-3-15 06:41, Processed in 0.180783 second(s), 32 queries.© 2003-2025 cbk Team.