leetcode题目:求一个非负数n的平方根

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

本文首发于我的博客:https://belindayang.cn/

题目:

leetcode69题
求一个非负数n的平方根

算法思路:

核心思想:二分查找
在1到n中进行查找,每次取中间元素mid求平方,如果求的平方值等于n或者求的平方值小于n且mid+1的平方值大于n,说明找到了目标值;如果mid+1的平方值大于n,说明应该在左边部分查找,否则在右边部分继续查找

代码如下:

class Solution(object):
    def mySqrt(self, x):
        """
        :type x: int
        :rtype: int
        """
        if x==0 or x==1:
            return x
        
        left=1
        right=x
        while(right>1):
            num=(left+right)/2
            temp=num*num
            if temp<=x:
                if temp==x or pow(num+1,2)>x:
                    return num
                else:
                    left=num+1
            else:
                right=num-1

欢迎关注公众号:pipi的奇思妙想
在这里插入图片描述

2022年C语言程序设计题库习集带答案(史上最全版) 《C语言程序设计》试题一 一、填空题 1、C语言中基本的数据类型有: 、 、 。 2、C语言中普通整型变量的类型说明符为 ,在内存中占 字节,有符号普通整型的数据范围是 。 3、整数-35在机内的补码表示为 。 4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是 。 5、有如下语句:char A[ ]={”I... 阅读详情

相关推荐

给定一个填充负数的m×n网格,找到一条从左上到右下的路径,这个路径将所有数字的总和最小化。

本题源自leetcode  64 ------------------------------------------------------------------- 思路 : 动态规划 1 用一个二维数组dp[i][j]记录到达 i,j 所需要的最小路径和。考虑边界条件。 2 优化 :用一个一维数组来记录到达某一列,需要的最小路径和。 代码: int minPathS

i_am_bird的博客 2940

一个负数平方根--sqrt实现

学过C或任何一种包含标准库语言的我们,一个负数平方根自然来的容易,随便调用下类似sqrt的函数就一切ok了!比较喜欢探究的同学也会好奇不用sqrt怎么实现一个数的平方根,或者说sqrt是如何实现的,这种题目也时常会出现在一些公司的面试中。       本人虽然以前也好奇过,但从未尝试去查询资料探究一番,今有幸看到一公司的面试题提到,遂总结之以加深印象。 1、最笨也最易想到的或许就是暴

夜星空 3381

LeetCode——Pow(x, n)

实现,即计算x的整数n次幂函数(即,xⁿ )。

冷兮雪的博客 936

用Python函数实现一个正实数平方根的简单算法

def sqrt(x):     #定义一个函数,x为要解的正实数     y=1.0        #变量y的初值为1.0     while abs(y*y-x)>1e-6:    #abs()为绝对值函数               y=(y+x/y)/2 return y         #返回解结果 '''''''' 以上程序就能出任何正实数的平方根,比起其它方法,这种

u012132349的博客 6052

1.6 二分法平方根

1 描述 设计一个用二分法计算一个大于或等于 1 的实数 n 的平方根函数sqrt_binary(n),计算精度控制在计算结果的平方与输入的误差不大于1e-6。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬ 注:初始区间取[0,n] 输入格式 输入一个实数 n(大于或等于1)‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬

鱼香肉丝没有鱼的博客 774

LeetCode刷题之Java的算法练习

x 的平方根 实现int sqrt(int x)函数。 计算并返回 x 的平方根,其中 x 是负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。 class Solution { public int mySqrt(int x) { if(x <= 1) { retur

qq_44723773的博客 749

【PythonCode】力扣Leetcode6~10题Python版

Leetcode6-10

weixin_43790276的博客 1807

二分-LeetCode69. x 的平方根

1、题目描述 实现int sqrt(int x)函数。 计算并返回x的平方根,其中x是负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。 2、代码详解 思路:binary...

IOT_victor的博客 253

LeetCode题解:统计有序矩阵中的负数

统计有序矩阵中的负数 一、题目 给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以递增顺序排列。 请你统计并返回 grid 中 负数 的数目。 示例: 输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]] 输出:8 解释:矩阵中共有 8 个负数。 二、题解 /** * @param {number[][]} grid * @return {number} */ var countNegatives

余光的博客 1455

LeetCode简单题之统计有序矩阵中的负数

题目 给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以递增顺序排列。 请你统计并返回 grid 中 负数 的数目。 示例 1: 输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]] 输出:8 解释:矩阵中共有 8 个负数。 示例 2: 输入:grid = [[3,2],[1,0]] 输出:0 示例 3: 输入:grid = [[1,-1],[-1,-1]] 输出:3 示例 4: 输入:grid = [[-1]]

Lonery的博客 609

LeetCode题目笔记——1351. 统计有序矩阵中的负数

LeetCode1351.统计有序矩阵中的负数,O(M+N)

一个苦逼研究僧的博客 521

LeetCode题目41:缺失的第一个正数

本文将详细介绍三种解决这一问题的方法,包括解题思路、详细的代码实现以及算法分析。

10年数据\经营分析经验,现任大厂数据分析负责人 1122

有符号整型的数据范围为什么负数比正数多一个

背景 我们先看Leetcode的这道题目: 标题:50. Pow(x, n) 难度:中等 https://leetcode-cn.com/problems/powx-n/ 实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入...

老马的程序人生 3441

#力扣LeetCode1351. 统计有序矩阵中的负数 @FDDLC

题目描述: 1351. 统计有序矩阵中的负数 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution { public int countNegatives(int[][] a) { int ans=0; for(int r=a.length-1,p=0;r>=0;r--){ for(int c=p;c<a[0].length;c++){

LiuXingchang的博客 380

【中等】力扣算法题解析LeetCode177:第N高的薪水

题目查询Employee表中第n高的不同工资,若不足n个则返回null。解题关键在于去重、降序排序和分页查询:使用DISTINCT去重,ORDER BY salary DESC排序,LIMIT 1 OFFSET N-1获取第n高记录。MySQL函数实现中,先计算偏移量N-1,再执行查询。若无结果自动返回NULL。性能优化建议在salary列建索引。边界情况已处理,如n=2时表只有一条记录返回null。代码简洁高效,时间复杂度取决于排序算法(通常O(n log n))。

ylumwd的博客 872

LeetCode-Java实现50. Pow(x, n)x的n次幂

50. Pow(x, n)x的n次幂题目描述思路实现 题目描述 Implement pow(x, n), which calculates x raised to the power n (xn). Example 1: Input: 2.00000, 10 Output: 1024.00000 Example 2: Input: 2.10000, 3 Output: 9.26100 Examp...

IT Crowd的博客 579

LeetCode每日一题

69. x 的平方根 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 链接:https://leetcode-cn.com/problems/sqrtx/. 这道题在leetcode上是一道easy难度的题,因此我们首先可以对其进行暴力解。暴力解过程比较简单,遍历1-x,找到平方数大于x的数,最后返回i - 1即可。 //暴力解 public int mySqrt(int x) {

weixin_44713562的博客 443

LeetCode 1351. 统计有序矩阵中的负数

1. 题目 给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以递增顺序排列。 请你统计并返回 grid 中 负数 的数目。 示例 1: 输入:grid = [[4,3,2,-1], [3,2,1,-1], [1,1,-1,-2], [-1,-1,-2,-3]] 输出:8 解释:矩阵中共有 8 个负数。 示例 2: 输入:grid = [[3,2...

Michael是个半路程序员 1339

LeetCode 1594.矩阵的最大负积:动态规划O(mn)

1594. 矩阵的最大负积 已解答 中等 相关标签 premium lock icon 相关企业 提示 给你一个大小为 m x n 的矩阵 grid 。最初,你位于左上角 (0, 0) ,每一步,你可以在矩阵中 向右 或 向下 移动。 在从左上角 (0, 0) 开始到右下角 (m - 1, n - 1) 结束的所有路径中,找出具有 最大负积 的路径。路径的积是沿路径访问的单元格中所有整数的乘积。 返回 最大负积 对 109 + 7 取余 的结果。如果最大积为 负数 ,则返回 -1 。 注意,取余

<font color="Pink">Tisfy的博客</font> 554
上一篇: leetcode题目:众数相关
下一篇: leetcode122题目:贪心算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值