Leetcode 69. Sqrt(x) 开根号 解题报告

这篇博客介绍了如何解决LeetCode第69题——求解整数开方。博主选择了使用二分法逼近的策略,因为这种方法在1到输入数本身之间寻找结果。此外,还提及了牛顿迭代法作为备选方案,但考虑到题目假设开根号后结果为整数,二分法更为简单直接。博客内容包括解题思路、原题描述和AC(Accepted)解法的阐述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 解题思想

这道题就是要求实现一个开根号的函数方法,我想在这里说的有:
1、二分法逼近,也就是我给出的做法,因为开根号给出的结果一定是在1到它本身之间的一个范围,所以我们初始让min=1,max=本身,每次求MID去逼近。
2、牛顿迭代法:这个比较复杂,可以网上看看一看,这里给一个集合:http://www.docin.com/p-571369782.html,这里除了牛顿迭代法,还有更多其他的算法

但是这题,有一个假设,就是输入的数开根号后也是整数,所以选择1方法最容易了

2 原题

Implement int sqrt(int x).

Compute and return the square root of x.

3 AC解

public class Solution {
    public int mySqrt(int x) {
        long min=0,max=x,mid=0,tmp,xs=x;
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值