首页 > 其他分享 >求平方根

求平方根

时间:2024-03-21 15:57:21浏览次数:20  
标签:le 示例 int 复杂度 sqrt 平方根

描述:
实现函数int sqrt(int x)
计算并返回x的平方根(向下取整)
数据范围:\(0 \le x \le 2^{31} - 1\),要求空间复杂度$ o(1) \(,时间复杂度\)o(logx) $.
示例1:

输入:
2

返回值:
1

示例2:

输入:
2143195649

返回值:
46294

思路: 二分查找方法

代码:

class Solution:
    def sqrt(self , x: int) -> int:
        # write code here
        left = 0
        right = x
        ans = -1
        while left <= right:
            mid = (left + right) // 2
            if mid * mid <= x:
                ans = mid
                left = mid + 1
            else:
                right = mid - 1
        return ans

标签:le,示例,int,复杂度,sqrt,平方根
From: https://www.cnblogs.com/bonne-chance/p/18087554

相关文章

  • 【算法】求 x 的平方根
    leetcode链接题目描述给你一个非负整数x,计算并返回x的算术平方根。由于返回类型是整数,结果只保留整数部分,小数部分将被舍去。注意:不允许使用任何内置指数函数和算符,例如pow(x,0.5)或者x**0.5。示例1:输入:x=4输出:2示例2:输入:x=8输出:2解释:8的......
  • 的平方根
    69.x的平方根(Easy)问题描述:实现intsqrt(intx)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例1:输入:4输出:2示例2:输入:8输出:2说明:8的平方根是2.82842...,由于返回类型是整数,小数部分......
  • 计算一个数的算术平方根
    从键盘输入一个小于1000的数,输出它的算术平方根,若算数平方根不为整数,则向下取整。#include<stdio.h>#include<math.h>intmain(){ inta=0; intb=0; while(scanf("%d",&a)) { if(a>0&&a<1000) { break; } else { printf(&qu......
  • leedcode x的平方根
    暴力搜索classSolution:defmySqrt(self,x:int)->int:ifx>=100andx<10000:i=10elifx>=10000andx<1000000:i=100elifx>=1000000:i=1000else:i=0......
  • 计算机编程中的黑魔法编程是什么?如何求解一个浮点数的平方根倒数?计算机中的浮点数是如
    原视频:没有显卡的年代,这群程序员用4行代码优化游戏最原始的求解目标:(求一个浮点数的开方的导数)浮点数在计算机中的表示形式:对数的运算法则:A为a在计算机中的表示形式(二进制表示形式):求浮点数的平方根倒数的应用场景:这个情况,直白的说就......
  • 牛顿迭代法求平方根
      publicclassCalcUtils{publicstaticvoidmain(String[]args){System.out.println(sqrt(8));}publicstaticdoublesqrt(doublec){if(c<0)returnDouble.NaN;doubleerr=1e-15;doublet=c;......
  • 69. x 的平方根
    69.x的平方根给你一个非负整数x,计算并返回x的算术平方根。由于返回类型是整数,结果只保留整数部分,小数部分将被舍去。注意:不允许使用任何内置指数函数和算符,例如pow(x,0.5)或者x**0.5。二分思路数据挺大,用longlong。classSolution{public:intmyS......
  • 平方根倒数快速算法
    平方根是什么?给定一个x,我想算x^(1/2),就是在算平方根在计算机里最常见的算法是牛顿迭代法牛顿迭代法平方根倒数是什么?给定一个x,我想算x^-(1/2),就是在算平方根的倒数平时我们是如何计算的?如果在纸上写,就是一步一步的算,先算平方根(一般就是查表法),再求倒数;但是大部分的数是无......
  • 计算一个数的平方根
    #include<stdio.h>#include<math.h> intmain(){   doublenum=25.0;   doublesquareRoot=sqrt(num);      printf("Thesquarerootof%fis%f\n",num,squareRoot);   return0;}......
  • L4: 69.x的平方根
    给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。注意:不允许使用任何内置指数函数和算符,例如 pow(x,0.5) 或者 x**0.5 。 示例1:输入:x=4输出:2示例2:输入:x=8输出:2解释:8的算术平方根......