「算法学习」:求平方根
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
来源:力扣(LeetCode)
输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。
解这道题目运用牛顿迭代法会快速很多,但是此时有个问题,什么是牛顿迭代法?
Good question,我也不会,大写的尴尬
但是我们只是运用到了其中的公式来计算,所以我这边就简单的介绍下他的公式及其在本题中的运用
从图中可以看到函数f(x)=x2-a=0的曲线图及其切线,可以看出来根号a的值就是函数的正实根,函数的切线函数为f(x)=2x,函数上任意一点的切线率为2x,故x-f(x)/(2x)x−f(x)/(2x) 就是一个比 x更接近的近似值。代入 f(x)=x2-af(x)=x2−a 得到 x-(x2-a)/(2x)x−(x*2−a)/(2x),也就是 (x+a/x)/2。
我们得到一个公式:(x+a/x)/2
/*理解了上面的公式所求后,这道题目就迎刃而解了*/
var numSqrt = function(x) {let r = x//经过循环计算,我们所求的值会越来越逼近答案,然后最小数的整数位都是相同的,此时取整即可while (r ** 2 > x) r = ((r + x / r) / 2) | 0//取整return r
};
「算法学习」:求平方根相关推荐
- 「算法学习」:贪心算法找零问题
找零算法,找零??? 假设你是一个商店老板,你需要给顾客找零n元钱,你手上有的钱的面值为:100元,50元,20元,5元,1元.请问如何找零使得所需要的钱币数量最少? 例子:你需要找零126元,则所需 ...
- 「特征工程」与「表示学习」
https://www.cnblogs.com/DicksonJYL/p/9626282.html 1.表示学习 当我们学习一个复杂概念时,总想有一条捷径可以化繁为简.机器学习模型也不例外,如果有经过 ...
- AI 大数据在数据隐私保护下如何普惠共享?CCF TF「联邦学习」研讨会给出了答案
雷锋网 AI 科技评论按:3 月 24 日,由 CCF 主办.微众银行和深圳大学微众金融科技研究院协办的第 14 期中国计算机学会技术前线研讨会于深圳大学科技楼二号报告厅圆满召开,研讨会的主题为「联邦 ...
- 不让「数据孤岛」成为 AI 发展的绊脚石,「联邦学习」将成突破口?...
雷锋网 AI 科技评论按:人工智能经过漫长发展,近些年成功突破技术与算力上的限制,因此得以在新世纪发挥着举足轻重的作用.不过随之而来是一系列的新问题--最典型的比如「数据孤岛」问题.该问题一日不被解决 ...
- 算法之牛顿法求平方根+立方根
算法之牛顿法求平方根+立方根 author:onceday date:2022年6月8日 1.基于Scheme语言 牛顿法基于以下几步来求出平方根: 先给出一个猜测值y 判断猜测值y是否与目标值非常接 ...
- 「模仿学习」很强大,但和「强化学习」有什么关系
原文来源:Stats and Bots 作者:Vitaly Kurin 「机器人圈」编译:嗯~阿童木呀.多啦A亮 在本文中,Statsbot团队请教计算机科学家Vitaly Kurin简要介绍模仿学习 ...
- 谷歌机器智能大牛:AI模型要真正理解人类语言,关键是「序列学习」
来源:新智元 编辑:David 如果计算机给了你所有正确的答案,是否意味着它和你一样了解世界? 这是人工智能科学家几十年来一直争论不休的谜题.随着深度神经网络在与语言相关的任务中取得了令人瞩目的进步, ...
- 双项通过|百度点石通过信通院「可信数据流通平台」、「联邦学习」双项测评
随着时代的发展,信息技术逐渐与生产生活交汇融合,数据安全已成为事关国家安全与经济社会发展的重大问题.2021年12月20日, 由中国信息通信研究院(以下简称"信通院").中国通信标 ...
- 三招武林绝学带你玩转「强化学习」
作者丨王维埙 学校丨天津大学硕士生 研究方向丨DRL & MAS 以彼之道还施彼身 ■ 论文 | Maintaining Cooperation in Complex Social Dilem ...
- 全文详解:「深度学习」如何协助处理医疗中的「数据难题」
原文来源:WordPress 作者:Luke Oakden-Rayner 「雷克世界」编译:嗯~是阿童木呀.KABUDA.EVA 医疗数据很难处理. 在医学成像中,数据存储(档案)是基于临床假设进行操 ...
最新文章
- linux重启sh脚本,Linux 之shell脚本系列之服务启动/关闭/重启/状态
- Python Qt GUI设计:QMdiArea和QMdiSubWindow类实现多文档界面(拓展篇—3)
- CSS 文字,边框实现从左至右颜色渐变
- python简单网页服务器示例
- Excel VBA实现批量创建链接
- linux培训机构 网络班,Linux基础教程之网络基础知识与Linux网络配置
- swift5 实现录音App
- java 监听 变量_[Java学习小记]使用PropertyChangeSupport来监听变量的变化
- saphana服务器硬件评估,华为SAP HANA一体机:你身边的数据计算专家
- Thinkphp3.2整合微信支付
- 计算机c盘只能新建文件夹,1.C盘只能新建文件夹不能新建文件(用户权限问题)...
- 单片机原理及应用 C51编程 proteus仿真
- IP数据包、ICMP协议以及ARP协议简单介绍
- win7计算机管理快捷键,win7系统中的常用快捷键
- UPnP 协议栈的威胁分析及防范方案
- 算法设计与分析课设-探寻宝藏-双线程DP问题-C语言
- yigo基础学习笔记3_数据迁移
- 认识SFP/SFP+/QSFP/QSFP+光模块
- 用友U9二开附件自定义下载2下载附件
- 消防工程师 第二篇 建筑防火 5.1 防火分区