剑指offer系列之十一:数值的整数次方

简介:

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

首先,我觉得这道题思路应该很简单,幂的情况无非是三种:正数、0和负数。当幂是0的时候,直接返回1;当幂是负数的时候,需要先把其转化为正数来处理,然后返回其倒数就可以了;当幂是正数的时候,按照正常的计算方法就可以。实际上这道题主要考察时代码的健壮性——就是对幂的情况的考虑是否周全。下面是实现的代码(已被牛客AC):

package com.rhwayfun.offer;

public class PowerOfDouble {
    public double Power(double base, int exponent) {
        double result = base;
        if(exponent == 0) return 1;
        if(exponent > 0){
            for (int i = 1; i < exponent; i++) {
                result *= base;
            }
            return result;
        }else{
            int absExponent = -exponent;
            for (int i = 1; i < absExponent; i++) {
                result *= base;
            }
            return 1/result;
        }
    }

    public static void main(String[] args) {
        double a = new PowerOfDouble().Power(0.5, -2);
        System.out.println(a);
    }
}
目录
相关文章
|
6月前
|
人工智能 IDE Java
通义灵码2.0 寻找AI程序员{头号玩家}
通义灵码联合 CHERRY 中国发起“头号玩家”活动,寻找 AI 程序员!体验 AI 智能编码新功能,如图生代码、单元测试、跨语言编程等。完成任意两个任务即可赢取联名定制机械键盘、折扣券及社区积分等奖品。活动截止至4月15日,点击链接参与,探索未来编程乐趣!
113 6
|
8月前
|
人工智能 运维 监控
操作系统智能助手OS Copilot新功能测评
本文介绍了操作系统智能助手OS Copilot的新功能测评。作为一名运维工程师,作者分享了安装过程中遇到的小问题及解决方法,并详细描述了使用体验。OS Copilot在回答速度、命令执行和任务处理方面表现一般,但提供了便捷的自动化操作,适合新手学习。作者指出其优点包括深度定制化、简化重复工作和对新手友好;不足之处在于回答不够流畅、汉化程度低且智能化水平有待提高。整体评分6分,未来有提升空间。
|
8月前
|
存储 安全 数据安全/隐私保护
FileCodeBox:Star4.9k,类似百度网盘,小团队、小公司都用得上的文件共享与分享工具,支持设置分享密码,界面清爽简单易用
FileCodeBox是一款开源文件共享工具,类似百度网盘,适合小团队和公司使用。它支持设置分享密码,界面简洁易用,提供匿名文件和文本分享功能。用户可通过提取码轻松获取文件,支持多种上传方式、文件类型及设备访问。项目基于FastAPI + SQLite3 + Vue3构建,具备轻量、安全、多语言支持等特点
328 2
|
小程序 安全 数据挖掘
陪玩语聊APP小程序定制开发模块功能
随着电竞行业的规范化,游戏陪玩软件兴起,提供专业陪玩服务。核心功能包括:多样化注册登录、用户资料展示、智能匹配筛选陪玩、语音互动(多人/私聊)、订单交易管理、陪玩入驻审核、数据分析、客服系统及社交功能。旨在融合游戏、语音聊天与社交,构建综合娱乐平台。
|
Android开发 开发者
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
522 0
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
|
安全 网络虚拟化 数据安全/隐私保护
如何处理移动应用中的网络故障?
处理移动应用网络故障涉及检查网络连接与设备状态、减少信号干扰、使用安全连接、避免公共网络、利用诊断工具、分层排除法、PPP协议排错、更新软件及用户教育。通过这些措施能有效定位并解决故障,确保网络稳定和用户安全。
391 0
|
算法 Linux Shell
【Linux】systemv init和systemd的区别
【Linux】systemv init和systemd的区别
220 0
|
云安全 人工智能 弹性计算
为什么说阿里云认证的含金量高?
云计算行业是未来最热门的行业之一,而且下一个十年,是云计算行业蓬勃发展的十年,很多人想进入这一行,那就不得不提到一个好帮手,业内含金量很高的阿里云认证证书。
2303 0
为什么说阿里云认证的含金量高?
|
Android开发 C++ Windows
【Android 逆向】Android 中常用的 so 动态库 ( /system/lib/libc.so 动态库 | libc++.so 动态库 | libstdc++.so 动态库 )
【Android 逆向】Android 中常用的 so 动态库 ( /system/lib/libc.so 动态库 | libc++.so 动态库 | libstdc++.so 动态库 )
603 0
【Android 逆向】Android 中常用的 so 动态库 ( /system/lib/libc.so 动态库 | libc++.so 动态库 | libstdc++.so 动态库 )
|
定位技术 数据中心
阿里云如何选择地域节点和可用区?3分钟教你选择
阿里云地域和可用区的选择是很重要的,如何选择地域和可用区: