Leetcode之数学计算法专题

1. pow(x, n)

2. sqrt(x)

3. divide two integers

4. multiply strings

5. add two numbers


三道数学题,分别用了分治法,二分查找法和不标准的二分查找法。

第一题巧妙地运用了n除二的最终形态使n小于零的公式:half*half/x变成了1*1/x,最终把原有的四种情况,降到了三种情况,非常有技巧的一道题。

第二题,一道开平方的数学题竟然用到了二分查找法,足可见数学在计算机领域里的强大地位。

第三题,涉及到位运算和二进制的题,一般都会难道我,这次更不例外,好不容易看懂了,简单说下要点:从高位往低位遍历被除数,每一次遍历到的数字如果大于除数,结果加一,下一次循环结果乘二,哦,还有,遍历到的数字需要减去除数,为的是不把高位运算过的值带到低位。

最后提一下,int类型在这类题中可能需要转换为long类型,防止位数超出正负取反。

第四题比较有难度,解决的算法也相当经典,值得一看。

第五题,是cc150最后一章的第一题,很经典,从本质上讲述了电脑是如何运行加法的,值得一看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值