基础数学-求平方根(easy)

一、问题描述

二、实现思路

1.题目不能直接调用Math.sqrt(x)

2.这个题目可以使用二分法来缩小返回值范围

所以我们在left<right时

        使 mid = (left+right)/2+1

        当mid*mid>x时,说明right范围过大,right=right-1

        当mid*mid<x时,说明left范围太小,left=mid

当left>=right时跳出循环,返回left

三、代码实现

import java.util.*;

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param x int整型 
     * @return int整型
     */
    public int sqrt (int x) {
        if(x==0||x==1){
            return x;
        }else{
            //在函数图像中可以看出:当x>4时,√x < x/2
            //由于以上性质,可以使用二分法去缩小返回值范围
            int res=1;
            int left=1;
            int right=x;
            while(left<right){
                int mid=(left+right)/2+1;
                int tmpsqrt=x/mid;
                if(mid>tmpsqrt){//等价于mid*mid>x
                    right=mid-1;
                }else{
                    left=mid;
                }
            }
            return left;
        }
    }
}

四、刷题链接

求平方根_牛客题霸_牛客网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/681734.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OZON计价公式,OZON计价是怎么样的

在俄罗斯电商市场中&#xff0c;Ozon平台以其独特的商业模式和高效的运营体系&#xff0c;吸引了众多卖家和消费者的目光。然而&#xff0c;要在Ozon平台上取得成功&#xff0c;除了提供优质的产品和服务外&#xff0c;了解并熟悉其计价公式和定价机制同样至关重要。本文将深入…

从运维故障中你都学到了什么?

一阵急促尖锐的铃声响起&#xff0c;王一搏忐忑不安地接起电话&#xff0c;被告知系统有20台服务器批量重启。 20 台&#xff01;批量重启&#xff01;意识到问题的严重性&#xff0c;王一搏迅速调整好状态&#xff0c;准备投身一场激烈的救火工作中。 然而事件的走向却远远超…

硕士课程 可穿戴设备之作业一

作业一 第一个代码使用的方法是出自于[1]。 框架结构 如下图&#xff0c;不过根据对代码的解读&#xff0c;发现作者在代码中省去了对SSR部件的实现&#xff0c;下文再说。 Troika框架由三个关键部件组成&#xff1a;信号分解&#xff0c;SSR和光谱峰值跟踪。&#xff08;粗…

解决MAC M1 Docker Desktop启动一直在starting

问题描述&#xff1a; 今天使用docker buildx 构建Multi-platform&#xff0c;提示如下错误&#xff1a; ERROR: Multi-platform build is not supported for the docker driver. Switch to a different driver, or turn on the containerd image store, and try again. 于是按…

git版本控制工具常用命令

一、本地仓库管理 push 向远程推送代码 pulll 拉取代码 二、远程仓库管理 三、分支操作 本地主分支master 远程主分支main head指向当前分支 查看&#xff1a;git branch 创建分支: git branch 名字 切换分支&#xff1a;git checkout 名字 合并分支&#xff1a;git…

健身日记之倒立俯卧撑学习——起始日2024.6.4

文章目录 前言 自我介绍 昔日计划 新目标计划 瓶颈突破尝试 参考视频及文章 前言 有轻微健身基础&#xff0c;正式接触街健五大神技&#xff0c;立志在两年内解锁全部&#xff0c;将有机会的进行日常训练和目标肌群锻炼&#xff0c;这里向大家展示我的计划和安排&#xf…

直播美颜工具解析:美颜SDK核心技术与性能优化方法

本篇文章&#xff0c;小编将深入解析直播美颜SDK的核心技术及其性能优化方法&#xff0c;以期为开发者提供有价值的参考。 一、美颜SDK核心技术 1.实时人脸检测与识别 美颜SDK的核心技术之一是实时人脸检测与识别。这项技术基于深度学习算法&#xff0c;能够快速、准确地识别…

云原生时代:从 Jenkins 到 Argo Workflows,构建高效 CI Pipeline

作者&#xff1a;蔡靖 Argo Workflows Argo Workflows [ 1] 是用于在 Kubernetes 上编排 Job 的开源的云原生工作流引擎。可以轻松自动化和管理 Kubernetes 上的复杂工作流程。适用于各种场景&#xff0c;包括定时任务、机器学习、ETL 和数据分析、模型训练、数据流 pipline、…

55.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露(3)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;54.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露&#xff08;2&#xff09; 这个rob…

完美的移动端 UI 风格

完美的移动端 UI 风格

20240605在Toybrick的TB-RK3588开发板上刷Buildroot

20240605在Toybrick的TB-RK3588开发板上刷Buildroot 2024/6/5 15:30 1、直接给Toybrick刷EVB7的IMG固件&#xff0c;跑飞。 rootrootrootroot-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot20240508$ ./build.sh --help rootrootrootroot-ThinkBook-16-G5-IRH:~/repo_RK3588_Bu…

Win10 TiKV单机单节点Docker部署测试

1. 环境 环境&#xff1a;Windows10、WSL2、Ubuntu20.04、Docker Desktop目标&#xff1a;单节点单机部署&#xff0c;测试用 2. 前置操作 docker pull pingcap/tikv:latest docker pull pingcap/pd:latestmkdir -p /mnt/tikv/pd mkdir -p /mnt/tikv/tikvip a 命令查看虚拟…

x86国产化麒麟系统上安装docker及问题解决

以前感觉安装docker没有问题&#xff0c;所以没有记录怎么安装的&#xff0c;最近在国产化系统上安装docker总是失败&#xff0c;经过仔细研究完全解决了该问题&#xff0c;特此记录。 参考链接&#xff1a; 在 OpenKylin 上安装 Docker 按照上面的链接可以知道整个docker安装…

智慧启航 网联无限丨2024高通汽车技术与合作峰会美格智能分论坛隆重举行

5月30日下午&#xff0c;以“智慧启航 网联无限”为主题的2024高通汽车技术与合作峰会&美格智能分论坛在无锡国际会议中心隆重举行&#xff0c;本次论坛由高通技术公司与美格智能技术股份有限公司共同主办&#xff0c;上海市车联网协会、江苏省智能网联汽车产业创新联盟、江…

数据结构的归并排序(c语言版)

一.归并排序的基本概念 1.基本概念 归并排序是一种高效的排序算法,它采用了分治的思想。它的基本过程如下: 将待排序的数组分割成两个子数组,直到子数组只有一个元素为止。然后将这些子数组两两归并,得到有序的子数组。不断重复第二步,直到最终得到有序的整个数组。 2.核心…

基于MetaGPT构建LLM 订阅 Agent

前言 在上一篇文章中&#xff0c;我们学习了如何利用MetaGPT框架构建单智能体和多智能体&#xff0c;并通过一个技术文档撰写Agent和课后作业较为完整的理解一个Agent的需求分析和开发流程&#xff1b;但是技术要和应用结合才能得到更广泛的推广&#xff1b;在本文中&#xff0…

常用的图算法工具库总结【单机版】

常用的图算法工具库总结【单机版】 在当今数据驱动的世界中&#xff0c;图论和图算法在多个领域扮演着越来越重要的角色。从社交网络分析到网络安全&#xff0c;从生物信息学到交通网络优化&#xff0c;图结构数据的管理和分析需求催生了一系列强大的图算法工具库。这些库提供…

Autodesk 3ds Max软件下载安装;3ds Max功能强大的三维建模、渲染软件安装包获取

3ds Max&#xff0c;无论是初学者还是资深设计师&#xff0c;都能通过3ds Max在数字世界中实现自己的创意&#xff0c;打造出令人惊叹的三维作品。 在3ds Max中&#xff0c;灯光系统是至关重要的一环。它提供了光度学灯光和标准灯光两种主要类型&#xff0c;用于照亮和增强场景…

[QT] MAC使用Qt Creator运行程序如何仅运行一个进程?

大家刚开始使用QtCreator会发现每次run程序&#xff0c;都会出现一个程序进程&#xff0c;使得调试操作增加。如下&#xff0c;每次run都会出现一个demo14的进程。 如何每次run后&#xff0c;就关闭上一次的进程&#xff0c;而重新拉起新进程呢&#xff1f; 看这里 这是默认…

25考研|脱产考研「二战」究竟值不值得?

多所高校举办座谈会劝阻脱产考研「二战」&#xff0c;这背后反映了学校对于学生未来发展的深思熟虑和对学生职业规划的关心。学校此举可能基于以下几方面的考量&#xff1a; 首先&#xff0c;脱产考研「二战」意味着学生需要再次投入大量的时间和精力准备研究生入学考试。这不…