leetcode 写出pow(x,y);

pow函数即为x*X...*x,其中有y个x相乘(x为double类型,y为int类型)

考虑情况:

  1.由于在java中当y=0&x=0是结果为任为1,此处做相应处理;

  2.当y为负数时结果应为1/result;

  3考虑结果很大的情况;

 public double pow(double x, int n)
    {
        if (x == 0.0 && n == 0)
        {
            return 1;
        }
        double res = 1.0;
        int k = n;
        if (n < 0)
        {
            k = -n;
        }
        while (k != 0)
        {
            if ((k & 1) == 1)
            {
                res *= x;
            }
            k >>= 1;
            x *= x;
        }
        if (n < 0)
        {
            res = 1 / res;
        }
        return res;
    }
时间: 2024-09-30 00:27:22

leetcode 写出pow(x,y);的相关文章

我的Java历程_写出这个数

lzJava基础进行中,今天偶然间看到的一个题目: 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字.如下代码: import java.util.*;public class Main2{ public static void main(String[] args){ String[] date = {"Ling", "Yi", "Er", "San", "Si", "Wu&q

代码示例:一些简单技巧优化JavaScript编译器工作详解,让你写出高性能运行的更快JavaScript代码

告诉你一些简单的技巧来优化JavaScript编译器工作,从而让你的JavaScript代码运行的更快.尤其是在你游戏中发现帧率下降或是当垃圾回收器有大量的工作要完成的时候. 单一同态: 当你定义了一个两个参数的函数,编译器会接受你的定义,如果函数参数的类型.个数或者返回值的类型改变编译器的工作会变得艰难.通常情况下,单一同态的数据结构和个数相同的参数会让你的程序会更好的工作. function example(a, b) { // 期望a,b都为数值类型 console.log(++a * +

android:如何用一天时间,写出“飞机大战”这样的游戏!(无框架-SurfaceView绘制)

序言作为一个android开发者,时常想开发一个小游戏娱乐一下大家,今天就说说,我是怎么样一天写出一个简单的"飞机大战"的.体验地址:http://www.wandoujia.com/apps/edu.njupt.zhb.planegame游戏分析玩过"飞机大战"游戏的都知道,飞机大战中的主要"角色"有:1.玩家飞机2.敌方飞机3.玩家飞机发送的子弹4.敌方Boss飞机发送的子弹我们需要控制的有:1.绘制屏幕内的角色2.控制角色的逻辑,比如:敌方

将基因组数据分类并写出文件,python,awk,R data.table速度PK

由于基因组数据过大,想进一步用R语言处理担心系统内存不够,因此想着将文件按染色体拆分,发现python,awk,R 语言都能够非常简单快捷的实现,那么速度是否有差距呢,因此在跑几个50G的大文件之前,先用了244MB的数据对各个脚本进行测试,并且将其速度进行对比. 首先是awk处理,awk进行的是逐行处理,具有自己的语法,具有很大的灵活性,一行代码解决,用时24S, 1 #!/usr/bin/sh 2 function main() 3 { 4 start_tm=date 5 start_h=`

居然在不伤元气的情况下写出了基数排序-)

基数排序就不多说了,其思路如下: 0. 输入为n个整数,每个数字为b位 1. 把整数拆分为b/r“位”, 每个"位"的长度为r(十进制长度) 2. 由低到高分别对每个“位”作计数排序 值得一说的是,为使算法效率最高,r应该为lgn(取整),然而实现中没有限定r的大小,可以自行设定. 不多说,上代码:(RadixSort.h省略) 1. RadixSort.cpp #include "stdafx.h" #include <malloc.h> #inclu

小规则让你写出美丽又高效的程序

本文来自肥宝游戏,引用必须保留文末二维码! ! ! 好几天没写文章了,周一整理自己刚修好的旧电脑,发现一本书<高质量C++编程指南>.由于近期在写游戏服务端的战斗.所以这个立马就吸引肥宝了.看了几天,深深感觉获益良多啊. 于是把笔记和自己的经验写下来,分享给大家. 一.写出美丽易读的程序 中学时代上课非常喜欢做笔记.可是肥宝差点儿没看过自己的笔记.不是肥宝懒.是由于肥宝字太丑了. 后来成为一个程序猿,以为这些代码都是电脑输出.统一字体.就不用这么纠结了.谁知道代码更须要写得美丽.由于需求是不断

按照所给的程序流程图,分别写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径,根据程序流程图,写出代码,用JUnit生成单元测试,并利用前面设计的测试用例进行测试。

语句覆盖:路径:abc ,测试用例:x=3,y=2 分支覆盖:路径:aeg ,测试用例:x=4,y=-1 /** * 2016-04-09 * @author 吴思婷 * DoWork类用来根据程序流程图,写出代码(定义一个类和方法来实现) */ public class DoWork { public void doWork(int x,int y){ int k=0,j=0; if((x<4 || y>0)&&(y>1)){ y=y+1; } else { if(x&

《Effective C++》item25:考虑写出一个不抛异常的swap函数

std::swap()是个很有用的函数,它可以用来交换两个变量的值,包括用户自定义的类型,只要类型支持copying操作,尤其是在STL中使用的很多,例如: int main(int argc, _TCHAR* argv[]) { int a[10] = {1,2,3,4,5,6,7,8,9,10}; vector<int> vec1(a, a + 4); vector<int> vec2(a + 5, a + 10); swap(vec1, vec2); for (int i =

android:怎样用一天时间,写出“飞机大战”这种游戏!(无框架-SurfaceView绘制)

序言作为一个android开发人员,时常想开发一个小游戏娱乐一下大家,今天就说说,我是怎么样一天写出一个简单的"飞机大战"的. 体验地址:http://www.wandoujia.com/apps/edu.njupt.zhb.planegame 源码:https://github.com/nuptboyzhb/newplanegame 游戏分析 玩过"飞机大战"游戏的都知道,飞机大战中的主要"角色"有:1.玩家飞机2.敌方飞机3.玩家飞机发送的子