面试经典-Pow(x,n)
Pow(x,n)一、题目50. Pow(x, n) 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x = 2.00000, n = 10输出:1024.00000 示例 2: 输入:x = 2.10000, n = 3输出:9.26100 示例 3: 输入:x = 2.00000, n = -2输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25 提示: -100.0 < x < 100.0 -231 <= n <= 231-1 n 是一个整数 要么 x 不为零,要么 n > 0 。 -104 <= xn <= 104 二、题解题解一(照着用例写代码🤣🤣)1234567891011121314151617181920212223242526public static double myPow(double x, int n) { if (x == 0) { return 0; } if...
面试经典-x的平方根
x的平方根一、题目69. x 的平方根 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1: 输入:x = 4输出:2 示例 2: 输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。 提示: 0 <= x <= 231 - 1 二、题解题解一(直接使用库函数)123public static int mySqrt(int x) { return (int)Math.sqrt(x);} ! 题解二(二分法)1234567891011121314151617public static int mySqrt(int x) { if (x < 2) { return x; // 处理特殊情况 0 和 1 } int lef...
面试经典-阶乘后的零
阶乘后的零一、题目172. 阶乘后的零 给定一个整数 n ,返回 n! 结果中尾随零的数量。 提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 示例 1: 输入:n = 3输出:0解释:3! = 6 ,不含尾随 0 示例 2: 输入:n = 5输出:1解释:5! = 120 ,有一个尾随 0 示例 3: 输入:n = 0输出:0 提示: 0 <= n <= 104 进阶:你可以设计并实现对数时间复杂度的算法来解决此问题吗? 二、题解题解一(BigInteger方式)好像Leetcode无法识别BigInteger,所以提交失败 1234567891011121314151617public static int trailingZeroes(int n) { BigInteger result = BigInteger.ONE; for (int i = 1; i <= n; i++) { BigInteger bigInteger = BigIn...
面试经典-加一
加一一、题目66. 加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。 示例 2: 输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。 示例 3: 输入:digits = [9]输出:[1,0]解释:输入数组表示数字 9。加 1 得到了 9 + 1 = 10。因此,结果应该是 [1,0]。 提示: 1 <= digits.length <= 100 0 <= digits[i] <= 9 二、题解注意9+1=10 就可以了 1234567891011121314151617181920212223class Solution { public static int[] plusOne(int[] digits) {...
