首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【每日算法Day 67】经典面试题:手动根号,你知道几种方法?

题目链接 LeetCode 69. x 的平方根[1] 题目描述 实现 int sqrt(int n) 函数。 计算并返回 的平方根,其中 是非负整数。...题解 为了更加通用,我们这里直接实现 double sqrt(double n) 函数。也就是求出 的精确值,然后取整就行了。...如果我们把 当作某个函数的导数,那么原函数就是 ,它的导数就是 。 现在问题很明朗了,要求 的值,等价于求 的根,等价于求 的极小值点(因为导数在非负数区间上零点唯一)。...首先选取一个初值 ,然后在函数 处作切线,求出切线与 轴交点 。接着将交点坐标作为新的 ,然后重复上面步骤,直到 和 差值小于某个阈值。...速度比较 我运行了一下从 到 每 个数根号的结果,统计了一下三种方法需要的计算次数,如下图所示: ? 可以发现,牛顿法和二分法都是速度很快的,随着 增大,需要的次数越来越多。

1.6K10

函数进阶· 第4篇《匿名函数

目录 一、匿名函数 1.匿名函数格式 2.匿名函数适用的场景 3.如何调用 lambda 函数 4.运算符的优先级 5.用 lambda 实现过滤 6.在列表推导式中怎么用?...二、三目运算符 三、精彩推荐 一、匿名函数 Python 中有一种特殊的函数,不需要使用def去定义,也不用给函数起名字。用lambda表达式来定义,这种函数叫做匿名函数。...1.匿名函数格式 lambda 参数:表达式(返回值) lambda定义函数和def定义函数的时候,格式是不一样的。...def后面跟着函数名字func(),lambda后面是没有函数名字的,直接写参数,参数后面是个冒号。冒号后面的a+b就是个返回值。 2.匿名函数适用的场景 简单的函数定义(只有一个表达式)。...三、精彩推荐 数据类型第 2 篇「字典和集合的原理和应用」 测之数据类型· 第 3 篇《列表推导式、字典推导式、2 种方式创建生成器》 测之数据类型· 第 4 篇《迭代器、生成器》 测函数进阶·

60830

函数进阶· 第2篇《纯函数

❞ 目录 一、纯函数的概念 1.纯函数 2.非纯函数 3.纯函数:相同的输入保证相同的输出 4.纯函数和非纯函数对比 二、纯函数的 3 个原则 三、函数的副作用 四、Python 中的内置函数 重点需要记住纯函数的概念和函数的副作用...一、纯函数的概念 一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。 纯函数不是特定的语法,不是特定的功能,它只是一个概念。...三、函数的副作用 函数的副作用就是当函数被调用的时候,既完成了(函数既定的计算任务)函数相关的功能,在完成函数相关功能的时候,你这个函数访问了外部变量,尤其是对外部的数据进行了写操作。...四、Python 中的内置函数 「内置函数:」 https://docs.python.org/zh-cn/3.7/library/functions.html Python 中的内置函数包含的不仅仅是内置函数还有很多的内置类型...虽然内置类型是个类,不是函数Python 官方也把内置类型归纳在内置函数里面,把它称为内置函数。 str()底层是个类,但是 Python 官方是把它归纳在内置函数里面的。

54410

函数进阶· 第1篇《递归函数

目录 一、往期回顾 1.生成器代码详解 2.生成器的三个方法 二、递归函数 1.什么是递归函数 2.递归函数调用原理图 3.递归边界 4.通过递归函数实现的任意数的阶乘 5.这个递归函数的递归临界点在哪...二、递归函数 1.什么是递归函数函数中调用函数自身,我们把这样的函数叫做递归函数。 2.递归函数调用原理图 ? 递归函数调用自身的图,图片来自网络 3.递归边界 递归边界:退出递归的终止条件。...Python 中递归用得不多,不太建议使用递归,因为递归不太好用,用递归还不如用循环。 4.2 怎么去算阶乘呢? 定义个函数,算任意数的阶乘。传 1,就算 1 的阶乘,传 10 就算 10 的阶乘。...三、系列推荐 测开入门篇《环境管理、编码规范、项目结构》 数据类型· 第 1 篇《元组和列表的性能分析、命名元组》 数据类型第 2 篇「字典和集合的原理和应用」 测之数据类型· 第 3 篇《列表推导式...、字典推导式、2 种方式创建生成器》 测之数据类型· 第 4 篇《迭代器、生成器》

62110

【说站】python Axes3D绘制3D图形

python Axes3D绘制3D图形 说明 1、绘制3D坐标的函数Axes3D。 创建绘图对象,用这个绘图对象创建Axes对象。 2、X轴-2到2之间,Y轴-2到2之间。...用两个坐标轴上的点在平面上画格,X和Y的平方和根号。 3、计算sin函数赋值为Z坐标。 具体函数方法可用 help(function) 查看 4、给三个坐标轴注明。...print(Y)   X, Y = np.meshgrid(X, Y)         #用两个坐标轴上的点在平面上画格 R = np.sqrt(X**2 + Y**2)         #X和Y的平方和根号...Z = np.sin(R)                    #计算sin函数赋值为Z坐标   #具体函数方法可用 help(function) 查看,如:help(ax.plot_surface...更多Python学习指路:python基础教程

1.2K20

S^(12)的一些性质

量子化学中最常见的对矩阵“根号”的情形便是 ,这里的 是原子基(AO basis)重叠积分矩阵,矩阵维度为基函数*基函数, 是个厄米矩阵(实数下就是对称矩阵),满足  (矩阵元素写法)... (矩阵写法)   所谓的对矩阵“根号”不是对矩阵的每个元素根号,而是指先将 对角化,将其本征值根号再乘回来,步骤如下 其中 是酉矩阵(实数下就是正交矩阵),满足 相应的还有...由于 是半正定(positive semi-definite)矩阵,本征值 ,因而可以根号。...但在实际编程中要小心,由于数值误差(可能的原因很多,例如从格式化文本文件中读取,小数位数有限),可能会有本征值 略微小于零,这时不妨把这些直接赋值为0,否则可能会超出根号函数的定义域。   ...这个“根号”的定义使得一些矩阵乘法变得像数的乘法一样简便,例如   后两行细节就不写了,初学者可以自己验算。

2.1K30

关于模型预测结果好坏的几个评价指标

2.RMSE RMSE表示均方根误差,是对MSE的根号,有点类似方差与标准差的区别。人们对均方差和方差一样没有直观的理解,不知道均方差=100时到底是准确度高还是低。...5.Python实现 是不是想问,那上面这些指标用Python怎么计算呢?...往下看: MSE的计算在Sklearn中有现成的函数可以调用,代码如下: from sklearn import metrics mse = metrics.mean_squared_error(y_test..., y_pre) RMSE直接对MSE的结果根号即可,代码如下: import numpy as np rmse = np.sqrt(mse) MAE的计算在Sklearn中也有现成的函数可以调用...np.mean(np.abs((y_pred - y_true) / y_true)) * 100 mape = mape(y_true, y_pred) 以上就是关于模型准确度常用的评价指标以及Python

9.9K20

三分钟理解“工厂模式”——设计模式轻松掌握

使用简单工厂模式的设计如下: 工厂类提供了一个getBean函数,该函数会根据客户端输入的key来判断究竟new运算类的哪一个子类对象。...简单工厂模式的弊端: 当需要增加计算器的功能时,比如要增加一个根号的功能,那么首先需要创建一个根号子类,继承运算类,并实现operation函数; 除此之外,还需要修改工厂类,在getBean函数中增加对开根号的判断...也就是说,简单工厂模式在增加功能时,需要修改工厂中的getBean函数,破坏了“封闭修改”的原则。而工厂模式能解决这个问题。...当我们使用了工厂模式之后,如果需要增加开根号运算的话,在增加开根号运算类的基础上,我们还需要增加开根号工厂类,让它去继承工厂父类,覆盖里面的getBean函数,在该函数中只创建根号类的对象。

84670

矩阵理论·范数

向量范数 1-范数: ,即向量元素绝对值之和,matlab调用函数norm(x, 1) 。...-范数:,即所有向量元素绝对值中的最大值,matlab调用函数norm(x, inf)。 -范数:,即所有向量元素绝对值中的最小值,matlab调用函数norm(x, -inf)。...p-范数:,即向量元素绝对值的p次方和的1/p次幂,matlab调用函数norm(x, p)。...matlab调用函数norm(x, 2)。-范数:,行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A, inf)。...矩阵范数:矩阵A的2范数就是 A的转置乘以A矩阵特征根 最大值的根号; 向量范数:向量x的2范数是x中各个元素平方之和再根号函数范数:函数f(x)的2范数是x在区间(a,b)上f(x)的平方的积分再根号

2.4K80

Finding the closest objects in the feature space在特征空间中找到最接近的对象

我们将使用pairwise_distances函数来测定对象之间的接近程度。记住这接近程度就与我们使用的用于分级的距离函数是一样的。...The default is the Euclidian distance, which is as follows: 给出一些距离函数,每一个点都被pairwise函数测量,默认的就是欧拉距离: image.png...口头上说,这展示两个向量的每个组成部分之间的不同,做平方差后再相加,然后根号。这看起来很熟悉,很像均方误差。如果我们根号,我们得到同样的东西,事实上,均方差根号是常用的距离函数。...In Python, this looks like the following:在python中,方法如下: def euclid_distances(x, y): return np.power...,但是scikit-learn也常常使用scipy的距离函数,在写本书的时候,scikit-learn的距离函数支持稀疏矩阵,查看scipy的文档来获取更多关于距离函数的知识: 1、 cityblock

66700

考点:星号的巧妙使用方式,包含计算、传参【Python习题08】

考点:星号的巧妙使用方式,包含计算、传参【Python习题08】 作者:刘金玉编程 分析讲解: 由于*星号的普通使用我们都比较熟悉,所以本文采用实力介绍方式讲解习题。...习题一: 通过自定义函数传入任意多个参数,并且输出这些参数。 分析: 此题主要是熟知通过星号作为函数参数的功能,可以代表任意多个参数出入。传入后这个参数的类型其实是元素tuple。...代码分析: ljyfunc2是自定义函数函数括号内使用**kwargs表示关键词参数,参数名字我们可以自定义,但是在使用这个自定义函数的时候,我们注意传入的形式是字典即可。...考题分析: 此题实际是考查我们在数学计算时候,使用**代表指数幂的用法,其实我们一般都会考虑整数作为指数幂,求一个数的平方、立方等,但是却很容易忽略可以让幂使用小数的形式去是一个一个数的根号。...return x**0.5 print("输出第三边的值",ljysqrt(3**2+4**2)) 输出结果: 输出第三边的值 5.0 习题三小结:此题主要是一个对数学问题求解的技巧掌握,只要知道这个根号技巧

67520
领券