【剑指offer】面试题16:数值的整数次方(Java)
实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。
示例 1:
输入: 2.00000, 10
输出: 1024.00000
示例 2:
输入: 2.10000, 3
输出: 9.26100
示例 3:
输入: 2.00000, -2
输出: 0.25000
解释: 2-2 = 1/22 = 1/4 = 0.25
说明:
-100.0 < x < 100.0
n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。
思路:二分法
需要注意的是写return powcorn(x,n/2)*powcorn(x,n/2);会超出时间限制
需要减少多余运算
定义变量a=powcorn(x,n/2),return a*a
这样运算一次就够
代码:
class Solution {
public double myPow(double x, int n) {
int flag = 0;
if(n==0)
{
return 1;
}
else if(n<0){
n=-n;
flag=1;
}
double result = PowCorn(x,n);
if(flag==1)
{
result = 1/result;
}
return result;
}
public double PowCorn(double x,int n)
{
if(n==0)
{
return 1;
}
double a = PowCorn(x,n/2);
if(n%2==0)
{
return a*a;
}
else
{
return a*a*x;
}
}
}
【剑指offer】面试题16:数值的整数次方(Java)相关推荐
- 剑指offer面试题16. 数值的整数次方(二分法)
题目描述 实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 思路 详见链接 代码 cl ...
- 剑指offer面试题[11]-数值的正整数次方
题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. (自己方法可以通过-比较low)后期补充牛客网解法,先mark一下. clas ...
- 剑指offer(12)数值的整数次方
快速幂的算法太美了 对于if((b&1)==1)这是判断b是否为奇数: 例如:如果b=8(1000),即指数为8,进入循环时,b不是奇数,那么基数翻倍,现在base值为,然后b右移,此时b为4 ...
- 【重点 递归版】剑指offer——面试题16:反转链表
剑指offer--面试题16:反转链表 牛客网上有<剑指offer>的题目训练https://www.nowcoder.com/activity/oj 一个有关此题图文并茂的博客:http ...
- 面试题16: 数值的整数次方
/******************************************************************* *<剑指Offer--名企面试官精讲典型编程题>C ...
- 剑指offer:面试题16. 数值的整数次方
题目:数值的整数次方 实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要考虑大数问题. 示例 1: 输 ...
- [剑指offer]面试题16:反转链表
面试题16:反转链表 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点.链表结点定义如下: struct ListNode {int value;ListNode *nex ...
- 剑指offer面试题[16]-反转链表
题目描述 输入一个链表,反转链表后,输出链表的所有元素. 解决与链表相关的问题总是有大量的指针操作,而指针操作的代码总是容易出错的的.很多面试官喜欢出链表相关的问题,就是想通过指针操作来考查应聘者的编 ...
- 【剑指offer-Java版】11数值的整数次方
不用库,实现pow()运算 很简单的题目,但是涉及到很多细节 比如 1) 结果非法或者出错的时候如何通知调用者: 可以采用返回特定值的方法-但是此处pow运算既可以返回正数 0 或者负数,所以此思路比 ...
- 【LeetCode笔记】剑指 Offer 67. 把字符串转换成整数 (Java、字符串)
文章目录 题目描述 思路 && 代码 二刷 题目描述 老阅读题了,感觉这道题有点类似写业务接口. 思路 && 代码 首先,把情况划分一下: 非正常值,直接给 0(这个实 ...
最新文章
- HSC86H SUMTOR 混合步进伺服电机驱动器
- C# - linq查询现有的DataTable
- mysql 内存表使用教程_MySQL的内存表的基础学习教程
- 这个深度学习工业质检工具,效率提升30%,质量提高80%
- 关于new 和delete的灾祸
- 从Jira到GitHub,详解Spring Framework问题跟踪系统的迁移过程
- C语言编程 开方,c编程中开方怎么表示
- Quartus仿真步骤
- 电工学习通:电路图符号知识大全
- 怎么用计算机算lnx,ln计算(log计算器在线)
- 【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )
- FoxyProxy Standard与brupsuite配置
- 清除服务器传输文件记录,Sqlserver2012清除服务器连接记录(服务器名称历史记录清除)...
- google-auto之自动生成组件化文件
- 软件测试为什么要学python,资讯详情-用excel不好吗?为什么还要学python?-柠檬班-自动化测试-软件测试培训-自学官网...
- 点击按钮1 打开/关闭按钮2
- regexp_replace
- 用C语言开发NES游戏(CC65)03、VRAM缓冲区
- 汽车保养知识知多少?这篇文章让你秒懂
- 大公司上中台,钱没了...小公司上中台,公司没了
热门文章
- LeetCode 98. 验证二叉搜索树(中序遍历)
- python concat_python-pd.concat()不合并在同一索引上
- java 父子级json组装不用递归_2020面试阿里Java研发岗题库总结,想虐面试官不能错过的面试宝典...
- Android设置text按钮,安卓基础控件使用(TextView、Button、ImageView、EditText)
- 那些在家啃书自学算法的人,最后都找到工作了吗?
- 基于BERT的多模学习——VL-BERT篇
- Google、MS和BAT教给我的面试真谛
- 【错误修正】关于文章《小夕说,不了解动态空间增长的程序喵都是假喵》
- 阿里P8架构师谈:分布式、集群、负载均衡、分布式数据一致性的区别与关联
- 开源开放 | 开源大学在线实践数据集及知识图谱MOOPer(CCKS2021)