LeetCode OJ:Pow(x, n) (幂运算)
Implement pow(x, n).
幂运算,简单的方法snag然很好实现,直接循环相乘就可以了,但是这里应该不是那种那么简单,我的做法使用到了一点递归:
class Solution {
public:
double myPow(double x, int n)
{
if(n == INT_MIN)
return 1.0/(x * myPow(x, INT_MAX)); //这里考虑了一下由于传参数的限制还是将其变成INT_MAX
if(n < )
return 1.0/myPow(x, -n);
if(n == )
return 1.0;
double half = myPow(x, n/), ret = 0.0;
if(n%)
return half * half * x;
return half * half;
}
};
这里有个注意点就是考虑到INT_MIN的情况,做出相应的处理
下面是java写的版本:
class Solution {
public double myPow(double x, int n){
if(n == Integer.MIN_VALUE)
return 1.0/(x*myPow(x, Integer.MAX_VALUE));
if(n < 0)
return 1.0/myPow(x,-n);
if(n == 0)
return 1.0;
double half = myPow(x, n/2);
if(n%2 == 1)
return half * half * x;
return half * half;
}
}
LeetCode OJ:Pow(x, n) (幂运算)的更多相关文章
- LeetCode 50 Pow(x, n) (实现幂运算)
题目链接:https://leetcode.com/problems/powx-n/?tab=Description Problem:实现幂运算即 pow(x,n) 设形式为pow(x,n) ...
- LeetCode OJ 题解
博客搬至blog.csgrandeur.com,cnblogs不再更新. 新的题解会更新在新博客:http://blog.csgrandeur.com/2014/01/15/LeetCode-OJ-S ...
- 求幂运算、多项式乘法及Horner法则的应用
一,两种不同的求幂运算 求解x^n(x 的 n 次方) ①使用递归,代码如下: private static long pow(int x, int n){ if(n == 0) return 1; ...
- [ACM] hdu 3923 Invoker (Poyla计数,高速幂运算,扩展欧几里得或费马小定理)
Invoker Problem Description On of Vance's favourite hero is Invoker, Kael. As many people knows Kael ...
- POJ1026 Cipher(置换的幂运算)
链接:http://poj.org/problem?id=1026 Cipher Time Limit: 1000MS Memory Limit: 10000K Total Submissions ...
- 组合数学 - 置换群的幂运算 --- poj CARDS (洗牌机)
CARDS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 1448 Accepted: 773 Description ...
- 迭代加深搜索 codevs 2541 幂运算
codevs 2541 幂运算 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 从m开始,我们只需要6次运算就可以计算出 ...
- 【LeetCode OJ】Interleaving String
Problem Link: http://oj.leetcode.com/problems/interleaving-string/ Given s1, s2, s3, find whether s3 ...
- 【LeetCode OJ】Reverse Words in a String
Problem link: http://oj.leetcode.com/problems/reverse-words-in-a-string/ Given an input string, reve ...
随机推荐
- (3.8)常用知识-临时表、表变量、CTE的对比
转自:https://www.cnblogs.com/xiaozhi1236/p/5895935.html 深入了解:https://www.cnblogs.com/kissdodog/archive ...
- java 多线程 day05 线程范围内的数据共享
import java.util.HashMap;import java.util.Map;import java.util.Random;/** * Created by chengtao on 1 ...
- HTTP状态码集
1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试 ...
- s5_day12作业
# day12作业: # 功能实现: # 一个文件夹中,存在多个文件,包括图片,视频,文本等等, # 遍历出时间在2017-06-05至2017-06-09这段时间内创建的所有文件.具体文件夹,自己创 ...
- CNN学习笔记:神经网络表示
CNN学习笔记:神经网络表示 双层神经网络模型 在一个神经网络中,当你使用监督学习训练它的时候,训练集包含了输入x还有目标输出y.隐藏层的含义是,在训练集中,这些中间节点的真正数值,我们是不知道的,即 ...
- redis---在CentOS6.5下安装与配置
本文详细介绍redis单机单实例安装与配置,服务及开机自启动.如有不对的地方,欢迎大家拍砖o(∩_∩)o (以下配置基于CentOS release 6.5 Final, redis版本3.0.2 [ ...
- html-3,table 表格标签 tr th td caption thead tbody tfoot 的简单使用
<!-- table border='1' style="border-collapse:collapse;" border 表格的像素宽度 border-collapse: ...
- SqlHelper简单实现(通过Expression和反射)7.MySql数据处理类
MySql的数据处理类和Sql Server没有太大差别,从思路上来说没有区别,所以此处只是给出代码,不再多加解释了. using System; using System.Configuration ...
- html 基础 表单
一.表单 <form id="" name="" method="post/get" action="负责处理的服务端&qu ...
- 在linux下打开文件出现^M,^H
0 Problem 在服务器上跑keras实验,然后用tee指令把实验结果保存在文本文件中. 文本文件在本机linux下用vim打开文件时会出现^M,^H.用sublime打开也会出现奇怪的字符. 1 ...