美文网首页
注意考虑边界的类型题目

注意考虑边界的类型题目

作者: YOLO哈哈哈 | 来源:发表于2019-01-17 06:45 被阅读0次

注意考虑边界的类型题目

1· 数值的整数次方 (16 剑指offer )
    1. 需要考虑 power 的 正负
    1. 需要考虑 base 是 0 ? 正数? 负数?
    1. 是否超过 Double.MAX_VALUE, Double.MIN_VALUE
  • 考虑顺序:
  1. 检查power 的正负
  2. 特殊情况 :当power 为 负数时,base 是 0 的 特殊边界情况, 扔exception
  3. 然后 开始用递归调用, 即使进行了 >> 操作,回到上一层以后依然对 exponent 没有改变
public double Power(double base, int exponent) throws Exception{
  if(exponent < 0 &&  base  == 0)
      throw new Exception();
  if (base == 0)
      return 1;
  double res = 0;
  if(exponent < 0 )
      res =  powerWithExp( 1/base ,  - exponent );
  else 
      res = powerWithExp(base , exponent );        
   return res;
}

public double powerWithExp(double base , int exponent ) {
    if(exponent == 1)
          return base;
    if (exponent == 0)
        return 1;
    double result = powerWithExp(base , exponent >> 1);
    result *= result;
    if(exponent % 2  == 1)
        result *= base;
    return result;
}

相关文章

  • 注意考虑边界的类型题目

    注意考虑边界的类型题目 1· 数值的整数次方 (16 剑指offer ) 需要考虑 power 的 正负 需要考...

  • 11. Container With Most Water

    题目分析 暴力实现即可,注意短板效应,还有何时移动边界。 代码

  • Leetcode.88.Merge Sorted Array

    题目 合并两个排序数组, 合并后还是有序 思路 从后向前找出最大的数填充都最后. 总结 考虑边界信息, 考虑m,n...

  • 33. Search in Rotated Sorted Arr

    题目 分析 老题了,就不多写了,二分+注意边界条件,如果不确定边界条件把所有的情况都列出来,再将相同处理的情况进行...

  • 18.leetcode题目讲解(Python):四数之和

    题目如下: 如果你是按题目顺序进行的练习,那么之前已经多次做个类似的题目了。这类型的题目主要需要注意的地方: 将给...

  • Leetcode.104.Maximum Depth of Bi

    题目 给定一个树, 计算树的深度. 思路 使用queue循环, 关键是结果level可能多加1. 总结 注意边界值...

  • 价值投资2

    考虑到自己的注意力边界与时间边界,在《简书》的第一天,把投资作为未来要学习的重点领域并假以实践。恰逢接下来的三天罗...

  • 6. ZigZag Conversion_Swift

    难度 中等 题目 给定字符串,返回对应的蛇形字符串,需要自己考虑首位行边界情况。时间复杂度为:O(n)。Examp...

  • 删除链表中的重复节点

    题目:在一个排序的链表中,如何删除重复的节点? 思路:删除重复节点同样要考虑边界值的问题,头节点为重复,尾节点为重...

  • leetcode第13题罗马数字转整数

    这道题目有些细节需要注意:1、HASHMAP最好给object指定类型2、replace("a","b")如果转换...

网友评论

      本文标题:注意考虑边界的类型题目

      本文链接:https://www.haomeiwen.com/subject/vsrbdqtx.html