每周完成一个ARTS(Algorithm,Review,Tips,Sha):每周至少做一道leetcode算法题,阅读并点评至少一篇英文技术文章,学习至少一个技术技巧,分享一篇有观点和思考的技术文章.
Algorithm:
实现intsqrt(intx)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例1:输入:4输出:2示例2:输入:8输出:2说明:8的平方根是2....,由于返回类型是整数,小数部分将被舍去。官方题解:由于xxx平方根的整数部分ans\textit{ans}ans是满足k2≤xk^2\leqxk2≤x的最大kkk值,因此我们可以对kkk进行二分查找,从而得到答案。二分查找的下界为,上界可以粗略地设定为xxx。在二分查找的每一步中,我们只需要比较中间元素mid\textit{mid}mid的平方与xxx的大小关系,并通过比较的结果调整上下界的范围。由于我们所有的运算都是整数运算,不会存在误差,因此在得到最终的答案ans\textit{ans}ans后,也就不需要再去尝试ans+1\textit{ans}+1ans+1了。链接:转载请注明:http://www.quwenlai.com/zeyy/17684.html