leetcoder-50-Pow(x, n)
Pow(x, n)
能够直接用库函数pow(x,n)一步搞定,但明显这样就没意思了。
class Solution {
public:
double myPow(double x, int n) {
if(n<0) return 1.0/myPow_1(x,-n);
else return myPow_1(x,n);
}
double myPow_1(double x,int n)
{
if(n==0) return 1.0;
double y=myPow_1(x,n/2); // 不能用n>>1 T_T 不知道什么原因
if(n&1) return y*y*x;
else return y*y;
}
};
public:
double myPow(double x, int n) {
if(n<0) return 1.0/myPow_1(x,-n);
else return myPow_1(x,n);
}
double myPow_1(double x,int n)
{
if(n==0) return 1.0;
double y=myPow_1(x,n/2); // 不能用n>>1 T_T 不知道什么原因
if(n&1) return y*y*x;
else return y*y;
}
};
位运算
class Solution {
public:
double myPow(double x, int n) {
if(n<0){
n=-n;
x=1.0/x;
}
double ans=1;
while(n){
if(n&1) ans=ans*x;
x=x*x;
n=n/2;
}
return ans;
}
};
public:
double myPow(double x, int n) {
if(n<0){
n=-n;
x=1.0/x;
} double ans=1;
while(n){
if(n&1) ans=ans*x;
x=x*x;
n=n/2;
}
return ans;
}
};
leetcoder-50-Pow(x, n)的更多相关文章
- LeetCode - 50. Pow(x, n)
50. Pow(x, n) Problem's Link ----------------------------------------------------------------------- ...
- [Leetcode][Python]50: Pow(x, n)
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 50: Pow(x, n)https://leetcode.com/probl ...
- leetcode 50. Pow(x, n) 、372. Super Pow
50. Pow(x, n) 372. Super Pow https://www.cnblogs.com/grandyang/p/5651982.html https://www.jianshu.co ...
- LeetCode 50. Pow(x, n) 12
50. Pow(x, n) 题目描述 实现 pow(x, n),即计算 x 的 n 次幂函数. 每日一算法2019/5/15Day 12LeetCode50. Pow(x, n) 示例 1: 输入: ...
- Java实现 LeetCode 50 Pow(x,n)
50. Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, ...
- 刷题-力扣-50. Pow(x, n)
50. Pow(x, n) 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/powx-n/ 著作权归领扣网络所有.商业转载请联系官方授 ...
- [LeetCode] 50. Pow(x, n) 求x的n次方
Implement pow(x, n), which calculates x raised to the power n(xn). Example 1: Input: 2.00000, 10 Out ...
- 50. Pow(x, n) (编程技巧)
Implement pow(x, n). double sum = 1; if (n > 0) { while ((n--) > 0) sum *= x; return sum; } el ...
- 50. Pow(x, n)
题目: Implement pow(x, n). 链接: http://leetcode.com/problems/powx-n/ 题解: 使用二分法求实数幂,假如不建立临时变量halfPow,直接r ...
- [Leetcode]50. Pow(x, n)
Implement pow(x, n). 我的做法就比较傻了.排除了所有的特殊情况(而且double一般不可以直接判断==),然后常规情况用循环来做.- -||| 直接用循环,时间复杂度就比较大.应该 ...
随机推荐
- date 时间确定
获取当前时间: var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var d ...
- ltsdangerous加密解密
前言 在做QQ第三方登录时,用户跳转到QQ登录界面登录成功后,会在URL返回一个code参数.前端把code发送给后端.后端收到后,会查询出openid.然后判断openid是否存在,如果存在就可以绑 ...
- redis之(一)redis的简单介绍
[一]:概念 --->Redis是一个开源的,高性能的,基于键值对的缓存与存储系统 --->Redis数据库中的多有数据都存储在内存中,由于内存的读写速度远快于硬盘,一秒读写超过10万键值 ...
- js解析与序列化json数据(一)json.stringify()的基本用法
对象有两个方法:stringify()和parse().在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript 早期的JS ...
- vue2.0使用watch监听对象属性
二话不说直接代码,找了一个百度都没找到.... var head=new Vue({ data:{ checkBoxState:{//监听设置开关勾选状态 notice:true, sound:tru ...
- 安卓APP安全测试基础
学习牛人经验,结合自己的测试,做简单总结: 简介:安卓APP安全测试目前主要覆盖以下方面:1)自身组件安全2)本地敏感数据保护3)web接口安全 一.自身组件安全目前手动.开源或免费工具均能检测此类漏 ...
- 17-7-24-react入门
先说明下为什么说好每天一更,周五周六周日都没有更新.因为在周五的时候,上司主动找我谈了转正后的工资4-4.5K.本来想好是6K的,后来打听了一圈公司的小伙伴,都是5-5.5,我就把自己定到了5K.万万 ...
- vue中回到顶部
1. 回到顶部,使用 scrollIntoView 方法: Element.scrollIntoView方法滚动当前元素,进入浏览器的可见区域 该方法可以接受一个布尔值作为参数.如果为true,表示元 ...
- Matrix Zigzag Traversal(LintCode)
Matrix Zigzag Traversal Given a matrix of m x n elements (m rows, ncolumns), return all elements of ...
- Sqli-labs less 14
Less-14 本关我们直接进行测试,输入username:admin" Pasword:(随意) 可以看到报错了,那么我们知道了id进行了 " 的操作. 这里和less13一样, ...