【LeetCode解题报告】《算法基础009_算术基本定理》- Java

2023-11-11

在这里插入图片描述

一、507.完美数

1.题目

507.完美数

对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。
给定一个 整数 n, 如果是完美数,返回 true,否则返回 false
1 <= num <= 108

2.分析

  1. 对 num = 1 进行特殊判断,因为 1 的正因子只有自身,所以直接返回false。
  2. 因为在 [ 1, Math.sqrt(num) ] 中,若存在 num % i == 0,则在 [ Math.sqrt(num) , num ] 中,必存在一个 k,使得 num / i = k,所以,只需要遍历 [ 1, Math.sqrt(num) ] 的范围即可。
  3. 当遍历到一个 i,满足 num % i == 0,则 sum 加上 i 和 num / i
  4. 因为循环是从 i = 1 开始遍历,所以遍历完成后,需要减去自身 num
  5. 最后比较 num 和 sum。

3.代码

    public boolean checkPerfectNumber(int num) {
        if (num == 1){
            return false;
        }
        int i,sum = 0;
        for (i = 1;i * i <= num;i++){
            if (num % i == 0){
                sum += i;
                sum += num / i;
            }
        }
        //正因子之和要减去num自身
        sum -= num;
        return num == sum;
    }

在这里插入图片描述

二、263.丑数

1.题目

263.丑数

给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。
丑数 就是只包含质因数 2、3 和/或 5 的正整数。
-231 <= n <= 231 - 1

2.分析

一开始我用的 while 循环,但是测试超时了,后来就换成这种递归的方法,但是思路都是一样的。

  1. 将整数 n,一直除以 2,3,5,直到这三个质因子都不能整除 n
  2. 判断 n 是否等于 1,如果 n 等于 1,则 n 是丑数;如果 n 不等于 1,说明 n 还有其他质因子,则不是丑数。

3.代码

    public boolean isUgly(int n) {
        if (n <= 0){
            return false;
        } else if (n <= 6){
            return true;
        }
        if (n % 2 == 0){
            return isUgly(n /= 2);
        } else if (n % 3 == 0){
            return isUgly(n /= 3);
        } else if (n % 5 == 0){
            return isUgly(n /= 5);
        }
        return n == 1;
    }

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【LeetCode解题报告】《算法基础009_算术基本定理》- Java 的相关文章

  • 如何在 Spring Data 中选择不同的结果

    我在使用简单的 Spring Data 查询或 Query 或 QueryDSL 在 Spring Data 中构建查询时遇到问题 如何选择三列 研究 国家 登录 不同的行 并且查询结果将是用户对象类型的列表 Table User Id S
  • 存根方法时出现 InvalidUseOfMatchersException

    我有这个 TestNG 测试方法代码 InjectMocks private FilmeService filmeService new FilmeServiceImpl Mock private FilmeDAO filmeDao Bef
  • JVisualVM/JConsole 中的 System.gc() 与 GC 按钮

    我目前正在测试处理 XML 模式的概念验证原型 并围绕一个非常消耗内存的树自动机外部库 我已经获得了源代码 构建 我想绘制 真实峰值 堆 随着模式大小的增加 不同运行的内存消耗 使用的指标符合我的目的并且不会影响问题 或者至少是它的合理近似
  • 打印星号的 ASCII 菱形

    我的程序打印出这样的钻石 但只有当参数或菱形的每一面为4 例如如果我输入6 底部三角形的间距是错误的 我一直在试图找出答案 当参数改变时 底部的三角形不会改变 只有顶部的三角形会改变 它只适用于输入4 public static void
  • 不同类型的数组

    是否可以有一个包含两种不同类型数据的数组 我想要一个包含双精度型和字符串的数组 我尝试过 ArrayList
  • 如何在代理后面安装 Eclipse Neon

    对于 Neon Eclipse 附带了一个安装程序 我在安装程序中找不到任何配置菜单 我的java版本是 java version java version 1 8 0 72 Java TM SE Runtime Environment b
  • ConcurrentHashMap 内部是如何工作的?

    我正在阅读有关 Java 并发性的 Oracle 官方文档 我想知道Collection由返回 public static
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 使用 Guice 优化注册表

    你好 今天思考了一种优化 有一些疑问 语境 我正在使用 Guice 2 进行 Java 开发 在我的网络应用程序中 我有一个转换器注册表 可以即时转换为某种类型 转换器描述如下 public class StringToBoolean im
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • 了解joda时间PeriodFormatter

    我以为我明白了 但显然我不明白 你能帮我通过这些单元测试吗 Test public void second assertEquals 00 00 01 OurDateTimeFormatter format 1000 Test public
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • 使用 Mockito 模拟某些方法,但不模拟其他方法

    有没有办法使用 Mockito 模拟类中的某些方法 而不模拟其他方法 例如 在这个 诚然是人为的 Stock我想嘲笑的班级getPrice and getQuantity 返回值 如下面的测试片段所示 但我想要getValue 执行乘法 如
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • Docker 和 Eureka 与 Spring Boot 无法注册客户端

    我有一个使用 Spring Boot Docker Compose Eureka 的非常简单的演示 我的服务器在端口 8671 上运行 具有以下应用程序属性 server port 8761 eureka instance prefer i
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • Spring-ws:如何从没有“Request”元素的 xsd 创建 Wsdl

    尝试为客户端实现 SOAP Web 服务 我需要一个 wsdl 文件来通过soapUI 测试该服务 但正如您在下面看到的 这个 xsd 没有 Request 和 Response 方法 所有请求和响应都被定义为基本 ServiceProvi
  • Hamcrest Matchers - 断言列表类型

    问题 我目前正在尝试使用 Hamcrest Matchers 来断言返回的列表类型是特定类型 例如 假设我的服务调用返回以下列表 List
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复

随机推荐

  • oracle10g异常日志查看

    oracle10g异常日志查看 警告日志 oracle product 10 2 0 db 1 admin orcl bdump alert orcl log 监听日志 oracle product 10 2 0 db 1 NETWORK
  • SpringMVC:从入门到精通,7篇系列篇带你全面掌握--三.使用SpringMVC完成增删改查

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于SpringMVC的相关操作吧 目录 Welcome Huihui s Code World 效果演示 一 导入项目的相关依赖 二 添加框架的配置文件 gen
  • 高效的公式提取神器Mathpix snipping Tool+ Mathtype

    推荐一个有用高效的公式提取神器Mathpix snipping Tool Mathtype Mathpix snip是一款功能强大 很有用的公式识别及复制软件 能够将已有的PDF或CAJ等文中的公式 纸上打印的公式 甚至在纸上手写的公式统统
  • 共享计算机后防火墙能开启,Windows XP中防火墙后如何实现共享

    通过开启Windows XP系统中内置的 Internet 连接防火墙 可以让我们安心的上网冲浪 但是在开启了 Internet 连接防火墙 之后 我们就会发现不能正常的使用 网络共享 功能了 Internet 连接防火墙 在阻挡恶意程序的
  • C语言将int类型存入char型

    最近在做算法题的时候遇到了一个问题 就是怎么将int类型的值变成当成字符串 字符数组 类型 例如 有个 int 1024 如何将整形的1024转为字符串类型 String 的1024或者字符数组 char 类型的1024呢 其实可以用ito
  • Vscode快速入门、 插件安装、插件位置、修改vscode默认引用插件的路径、在命令行总配置code、快捷键

    Vscode快速入门 这里写目录标题 安装 插件安装 Ctrl Shift X 插件商店 插件位置 默认位置 修改默认路径 修改vscode默认引用插件的路径 在命令行总配置code 基本操作 安装 Visual Studio Code 官
  • RxJava2+Retrofit2+RxLifecycle3+OkHttp3网络请求封装(动态演示)

    入职公司后 公司要求组件化开发 经过讨论后我将网络请求框架单独进行了封装 不过当时框架里将常用的 util 和 ui 均放入到了共同的 Common 包下 导致里面部分代码耦合 后来为了降低耦合性又将 Common 拆分为了lib comm
  • Python 解决百钱买百鸡问题

    我国古代数学家张丘建在 算经 一书中曾提出过著名的 百钱买百鸡 问题 该问题叙述如下 鸡翁一 值钱五 鸡母一 值钱三 鸡雏三 值钱一 百钱买百鸡 则翁 母 雏各几何 翻译过来 意思是公鸡一个五块钱 母鸡一个三块钱 小鸡三个一块钱 现在要用一
  • Django开发员工管理系统(Part I)

    文章目录 1 准备工作 1 1 创建django项目 1 2 创建app 1 3 配置settings py文件 完成app注册 2 设计数据库表结构 3 在MySQL中生成表 3 1 创建数据库 3 2 修改配置文件 连接MySQL数据库
  • Nature:为啥室温超导支棱不起来

    克雷西 发自 凹非寺量子位 公众号 QbitAI 引发全球热议的LK 99风波告一段落后 Nature的一篇资讯头条再次提及了 室温超导 尽管对超导的热情一直不减 但随着一次又一次被证伪 人们很难不对 室温超导 慎之又慎 Nature的这篇
  • GitHub开源:狗屁不通文章生成器

    万字申请 废话报告 魔幻形式主义大作怎么写 GitHub开源狗屁不通文章生成器了解一下 只要输入一句话 系统就会给你一篇万字长文 查看源代码编写风格清新脱俗 并且毫无算法 简单暴力 直接在关键语句前后加上废话 名人名言 GitHub Git
  • 关系数据库中连接池的机制是什么?

    前提 为数据库连接建立一个缓冲池 1 从连接池获取或创建可用连接 2 使用完毕之后 把连接返回给连接池 3 在系统关闭前 断开所有连接并释放连接占用的系统资源 4 能够处理无效连接 限制连接池中的连接总数不低于或者不超过某个限定值 其中有几
  • 模式识别之分类器

    常见分类器介绍 1 SVM分类器 监督学习分类器 答 训练样本必须先标识不同类别 然后进行训练 SVM算法就是找一个超平面 对于已经被标记的训练样本 SVM训练得到一个超平面 使得两个类别训练集中距离超平面最近的样本之间的垂直距离要最大 也
  • Java--Map和HashMap基础

    一 Map常用方法 1 Map集合在 java util Map 包下 Map集合以键值对 key和value 的方式存储数据 key和value都是引用数据类型 都是存储对象的内存地址 2 Map接口中常用方法 V put K key V
  • W3C?什么是W3C相关标准?

    什么是W3C标准 什是W3C标准 不是一个标准 而是万维网联盟制定的一系列标准 网页主要由三部分组成 结构 Structure 表现 Presentation 和行为 Behavior 对应的标准也分三方面 结构化标准语言主要包括XHTML
  • 数据采集+数据可视化练习(2022-1-6)

    任务书3 赛题说明 竞赛内容分布 竞赛时长 任务一 Spark 组件部署管理 Standalone 模式 15 任务二 数据采集 20 任务三 数据清洗与分析 30 任务四 数据可视化 20 任务五 综合分析 10 团队分工明确合理 操作规
  • Python-Django毕业设计信息安全风险评估系统设计与实现(程序+Lw)

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • CentOs yum源配置

    yum 的理念是使用一个中心仓库 repository 管理一部分甚至一个distribution 的应用程序相互关系 根据计算出来的软件依赖关系进行相关的升级 安装 删除等等操作 减少了Linux 用户一直头痛的dependencies
  • 通过opencv与神经网络对滑动验证码的一次深入学习

    好久没写博客了 人到中年 有点儿犯懒 从信息安全行业 又去了IT合规领域 与信息安全结合还是两手抓 两手都不硬 由于工作原因 需要获取一个token来请求接口 奈何没有现成的接口 需要在web端登录才可以获取 既然如此 想要实现这个功能肯定
  • 【LeetCode解题报告】《算法基础009_算术基本定理》- Java

    目录 一 507 完美数 1 题目 2 分析 3 代码 二 263 丑数 1 题目 2 分析 3 代码 一 507 完美数 1 题目 507 完美数 对于一个 正整数 如果它和除了它自身以外的所有 正因子 之和相等 我们称它为 完美数 给定