LeetCode-69. x 的平方根

devtools/2025/2/27 1:22:23/

1、题目描述:

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。

由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:

输入:x = 4
输出:2

示例 2:

输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

提示:

  • 0 <= x <= 231 - 1

2、代码:

class Solution
{
public:int mySqrt(int x) {if (x <= 1) return x;int l = 0, r = x, mid, sqrt;while (l <= r) {mid = (r + l) / 2;sqrt = x / mid;if (sqrt == mid) return mid;else if (sqrt < mid) r = mid - 1;else l = mid + 1;}return r;}
};

 


3、解题思路:

我们可以把这道题想象成,给定一个非负整数 a ,求 f ( x ) = x 2 a = 0 的解。因为我们只考虑 x 0 ,所以 f ( x ) 在定义域上是单调递增的。考虑到 f ( 0 ) = a 0 f ( a ) = a 2 a 0 ,我们可以对 [ 0 , a ] 区间使用二分法找到 f ( x ) = 0 的解。

注:当 x=0 或 x=1 时,直接返回 x,因为它们的平方根就是自身。


http://www.ppmy.cn/devtools/162928.html

相关文章

[RH342]tcpdump

[RH342]tcpdump 1. 题目2. 解题 1. 题目 服务器serverc 和 servera 之间有进程定期发送一个明文密码,找出它2. 解题 找出通信端口 抓包分析 tcpdump -X -vv port 6644红框中就是密码,所以密码是root123

stm32-LCD(液晶显示器)

LCD的介绍&#xff1a; LCD&#xff08;Liquid Crystal Display&#xff0c;液晶显示器&#xff09;是一种利用液晶材料的电光效应来控制光线透过或反射的显示技术。LCD 广泛应用于各种电子设备中&#xff0c;如电视、电脑显示器、智能手机、平板电脑、汽车仪表盘、工业控制面…

《论湖仓一体架构及其应用》审题技巧 - 系统架构设计师

软考论文写作框架 一、考点概述 “湖仓一体架构及其应用”这一论题&#xff0c;主要考察了考生对现代数据管理系统中湖仓一体架构的理解、应用及问题解决能力。随着5G、大数据、人工智能、物联网等技术的快速发展&#xff0c;企业数据的管理需求正发生深刻变化。传统的数据管…

如何获取zookeeper中的注册内容,在Java项目中演示

我来为你展示如何在Java项目中通过ZooKeeper获取已注册的内容。下面提供一个完整的示例&#xff0c;包括连接ZooKeeper、获取节点数据以及处理常见情况的代码。 示例代码 以下代码演示了如何从ZooKeeper中获取注册内容&#xff1a; import org.apache.zookeeper.*; import ja…

CSS 真的会阻塞文档解析吗?

在网页开发领域&#xff0c;一个常见的疑问是 CSS 是否会阻塞文档解析。理解这一问题对于优化网页性能、提升用户体验至关重要。要深入解答这个问题&#xff0c;需要从浏览器渲染网页的原理说起。 浏览器渲染网页的基本流程 浏览器在接收到 HTML 文档后&#xff0c;会依次进行…

从哪里下载WinPrefetchView最安全?

WinPrefetchView 是一款用于读取和显示 Windows 系统中预读取文件&#xff08;Prefetch&#xff09;信息的工具&#xff0c;能够帮助用户了解系统启动时加载了哪些文件以及应用程序的运行情况。为了确保下载安全&#xff0c;建议从以下可信来源获取&#xff1a; 1. MajorGeeks…

angular贪吃蛇

说明&#xff1a;我计划用angular实现一个贪吃蛇的程序&#xff0c;并且有方向键去控制蛇的上下左右的移动&#xff0c;并且有得分系统&#xff0c;当蛇撞到墙壁或者自身&#xff0c;游戏结束 效果图&#xff1a; step1: C:\Users\Administrator\WebstormProjects\untitled4\…

react module.scss 避免全局冲突类似vue中scoped

创建 index.module.scss 文件 src/components/MyComponent/index.module.scssindex.tsx2. 编写 index.module.scss 内容 // src/components/MyComponent/index.module.scss.container {padding: 20px;background-color: #f0f0f0;.title {font-size: 24px;color: #333;}.butto…