[Leetcode]50. Pow(x, n)
Implement pow(x, n).
我的做法就比较傻了。排除了所有的特殊情况(而且double一般不可以直接判断==),然后常规情况用循环来做。- -|||
直接用循环,时间复杂度就比较大。应该是用二分法来做。先计算pow(x,n/2)。然后再pow(x,n)=pow(x,n/2)*pow(x,n/2)
class Solution { public: double power(double x, int n){ if(n==0) return 1; double v = power(x,n/2); if(n%2 == 0) return v *v; else return v* v* x; }double myPow(double x, int n) {if(n<0) return 1.0 / power(x,-n); else return power(x,n); } };
#define EPSINON 0.00001 #define Max 2147483647 #define Min -2147483648 #define DBL_MAX 1.7976931348623159e+308 class Solution { public:double myPow(double x, int n) {/*three special case*/if(n==1)return x;if(n==0)return 1.0;if(abs(x)==1.00000){if(n%2==0)return 1.0;else return x;}if(n>=Max){if(abs(x)<=EPSINON)return 0.0;elsereturn DBL_MAX;}if(n<=Min){if(abs(x)<=EPSINON)return DBL_MAX;elsereturn 0.0;}int size=abs(n);double tmp=x;for(int i=2;i<=size;i++){tmp*=x;}if(n>=0)return tmp;else return 1.0/tmp;} };
转载于:https://www.cnblogs.com/LUO77/p/5645127.html
[Leetcode]50. Pow(x, n)相关推荐
- 【LeetCode】50. Pow(x, n) (3 solutions)
Pow(x, n) Implement pow(x, n). 按照定义做的O(n)肯定是TLE的. 利用这个信息:x2n = (xn)2 有个注意点,当n为负是,直接取反是不可行的. 由于int的表示 ...
- [Leetcode]141. Linked List Cycle
题目: Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without usin ...
- 【分治】LeetCode 50. Pow(x, n)
LeetCode 50. Pow(x, n) Solution1:我的答案 偷鸡摸狗的做法 class Solution { public:double myPow(double x, int n) ...
- LeetCode第50题思悟——Pow(x, n)(powx-n)
LeetCode第50题思悟--Pow(x, n)(powx-n) 知识点预告 对边界值的处理意识: 对整数溢出的处理: 折半的思想 题目要求 实现 pow(x, n) ,即计算 x 的 n 次幂函数 ...
- c语言的 pow函数是快速幂吗,leetcode 50. Pow(x, n)(快速幂)
就是一个二分法快速幂. 但是需要注意的问题是这里是实数,而且n可能为负. int的范围是-2,147,483,648 至 2,147,483,647.如果为-2,147,483,648那么直接n=-n ...
- Leetcode 50. Pow(x, n)
50. Pow(x, n) Total Accepted: 96891 Total Submissions: 348858 Difficulty: Medium Implement pow(x, n) ...
- i27岁转行java,JavaTM I/O 性能分析[转]
JavaTM I/O 性能分析[转] 上一篇 / 下一篇 2008-07-30 13:04:44 / 个人分类:Zee的生活 这篇文章讨论和阐明了提供 JavaTM I/O 性能的多种设计问题,例如 ...
- 开源的悲哀——袁萌100天变身实录[3]
承接上文: 开源的悲哀--袁萌100天变身实录[1] 开源的悲哀--袁萌100天变身实录[2] 2008年3月末:虚伪的文档格式权威 进入2008年3月,一切都回到了起跑线.但袁萌老师已经回不到原来的 ...
- 刷题汇总(一)leetcode 精选50题 JavaScript答案总结
题目来源 腾讯精选练习(50 题) 信息更新时间:2019-3-11,因为要准备面前端,就用js做了遍来熟悉JavaScript这门语言,50道题均已提交通过. GitHub地址:https://gi ...
最新文章
- 【转】CPU位数、核数、个数
- 64位jvm的指针膨胀 和 数据补白
- java并发集合有哪些_java中常见并发集合有哪些?详细解析
- opencv2中访问像素的简单方法-自定义一个宏CV_MAT_ELEM2
- android fragment 退出程序,android – 应用程序在Fragment中单击后退按钮后关闭
- 利用URL拼接爬取获取有道翻译内容
- 和谐: OρenVΡN的UDP握手协议
- BZOJ 1798 题解
- 数据库课程设计报告——员工工资管理系统
- 基于hadoop的气象数据可视化分析
- 什么新东西值得学「GitHub 热点速览 v.22.29」
- 基于文本挖掘的情人节微信聊天记录情感分析
- Chrome IE 中QQ快速登录失效
- undertale人物_传说之下人物介绍
- XSS笔记-来源于个人思路构造以及网络分享
- 高等数学学习(1)-函数
- cf四大服务器位置,CF:从最初的42个服务器到现在的四大战区,穿越火线还能火多久?...
- 单位1-Mbps、Kbps、bps、kb、mb及其换算和区别
- 以小麦胚芽之名,智膳堂创造膳食升级新图景
- 优地、云迹、擎朗、普渡科技的服务机器人场景战争