当前位置: 首页 > news >正文

LeetCode之数学

9. 回文数

class Solution {// 定义一个判断整数 x 是否为回文数的函数public boolean isPalindrome(int x) {// 将整数 x 转换为字符串String xStr = String.valueOf(x);// 创建一个 StringBuilder 对象,用于反转字符串StringBuilder sb = new StringBuilder();// 将字符串 xStr 添加到 StringBuilder 中sb.append(xStr);// 比较原字符串和反转后的字符串是否相等// 如果相等,则说明 x 是回文数,返回 true;否则返回 falsereturn xStr.equals(sb.reverse().toString());}}

66. 加一

class Solution {// [1,2,3] -> [1,2,4] [1,2,9] -> [1,3,0] [9, 9, 9] -> [1, 0, 0, 0]// 定义一个方法来实现给定数字数组加一的功能public int[] plusOne(int[] digits) {// 从末尾开始进行循环for (int i = digits.length - 1; i >=0; i--) {// 对当前位加1,并对10取模得到新的位值digits[i] = (digits[i] + 1) % 10;// 如果当前位加1后不为0,说明没有进位,可以直接返回结果if (digits[i] != 0) {// 返回更新后的数组return digits;}}// 如果循环结束,说明所有位都进位了(如从 999 变成 1000)// 创建一个新的数组,长度比原数组大1digits = new int[digits.length + 1];// 将新数组的第一个位置设为1,其余位默认是0digits[0] = 1;// 返回新的数组return digits;}
}

172. 阶乘后的零

class Solution {public int trailingZeroes(int n) {// 用于统计末尾 0 的个数int ans = 0;// 当 n 不为 0 时进行循环while (n!= 0) {// n 除以 5,相当于统计 n 中有多少个 5 的因子n /= 5;// 将每次得到的 n 累加到 ans 中,因为每次 n/5 得到的结果都是 n 中 5 的因子个数的一部分ans += n;}// 返回末尾 0 的个数return ans;}
}

69. x 的平方根 

class Solution {// 定义一个方法来计算 x 的整数平方根public int mySqrt(int x) {// 初始化左右边界, 左边界从 0 开始int left = 0;// 右边界设置为 xint right = x;// 用于存储最终答案,初始值为 -1int ans = -1;// 使用二分查找来找到平方根while (left <= right) {// 计算中间值int mid = (left + right) / 2;// 使用 long 类型防止溢出if ((long) mid * mid <= x) {// 如果 mid 的平方小于等于 x,更新左边界left = mid + 1;// 更新答案为当前 midans = mid;} else {// 如果 mid 的平方大于 x,更新右边界right = mid - 1;}}// 返回找到的最大的平方根return ans;}}

50. Pow(x, n)

class Solution {public double myPow(double x, int n) {long N = n;return N >= 0 ? helper(x, N) : 1.0 / helper(x, N);}public double helper(double x, long N) {if (N == 0) {return 1.0;}double y = helper(x, N / 2);return N % 2 == 0 ? y * y : y * y * x;}}


http://www.mrgr.cn/news/23875.html

相关文章:

  • Linux环境基础开发工具使用(1)
  • PO设计模式是selenium自动化测试中最佳的设计模式之一
  • 为什么选择4-20mA而不是0-20mA呢?
  • C#EF框架
  • virsh命令的使用
  • 任意论文一键变播客,谷歌正式发布Illuminate,它能重构研究者的学习方式吗?
  • 单词排序C++实现
  • Spring Boot 注解探秘:JSON 处理的魔法世界
  • 1.滑动窗口问题
  • 冒泡排序;选择排序;插入排序;快排;判断大小端;位运算
  • Delphi 12.1安卓APP开发中获取硬件信息及手机号
  • JAVA进阶学习15
  • 【Go】-Gin框架
  • LCR 021
  • 智能优化算法-樽海鞘优化算法(SSA)(附源码)
  • 一款好用的电子样本册转换器
  • JAVA中在junit测试类中加载Spring托管,通过注解使用Bean
  • shell的使用sed处理数据
  • 轻量级模型解读——GhostNet系列
  • Git版本控制工具