leetcode sqrt(x) 刷题总结
前言
这篇文章呢主要是记录我刷leetcode时遇到的有趣的题。
这里说的有趣呢包含两方面,可能是题目很有趣,也有可能是它解法很有趣。
leetcode题目
sqrt(x)
leetcode链接
这题是牛顿法的应用,我一直很喜欢那些应用数学方法从而巧妙解决的编程题,所以这篇文章大概会收集很多类似的题目。
牛顿法(维基百科):求解f(x) = 0的一个解可以借由f(x)的导数(或者是其泰勒级数的前几项)求解
首先,选择一个点x0,求解x0处切线与x轴的交点x1,也就是求解:
\[0 = (x - x0) * f'(x0) + f(x0)\]
通常求得的这个解x1会比x0更接近f(x)的零点,所以我们可以不断去迭代逼近零点。迭代方程如下:...
在c++里用new和malloc的几点区别
前言
昨天面试c++的岗位的时候,面试官问我new和malloc的区别。因为平时写c++都是用的new,没怎么用过malloc,所以不知道它们的区别,没回答上来。现在来整理一下。
new和malloc的几点区别
返回类型安全性
用new申请内存空间时,返回的数据类型是声明类型的指针,而malloc返回的数据类型是void*,需要之后类型转换成我们想要的类型。
MyClass* mc = new MyClass();
MyClass* mc1 = (MyClass*) malloc(sizeof(MyClass));
是否需要指定内存大小
new表达式声明时不需要指定要申请的内存空间的大小,而用mal...
共计 12 篇文章,2 页。