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

吴江城乡住房和城乡建设局网站大数据营销策略有哪些

吴江城乡住房和城乡建设局网站,大数据营销策略有哪些,网站建设phpweb教程,安徽省博物馆网站建设一、题目描述 丑数 就是只包含质因数 2、3 和 5 的正整数。 给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:n 6 输出:true 解释&#xff1…

一、题目描述

丑数 就是只包含质因数 23 和 5 的正整数。

给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。

示例 1:

输入:n = 6
输出:true
解释:6 = 2 × 3

示例 2:

输入:n = 1
输出:true
解释:1 没有质因数,因此它的全部质因数是 {2, 3, 5} 的空集。习惯上将其视作第一个丑数。

示例 3:

输入:n = 14
输出:false
解释:14 不是丑数,因为它包含了另外一个质因数 7 。

提示:

  • -2^31 <= n <= 2^31 - 1

二、解题思路

  1. 首先判断 n 是否为正整数,如果不是,则直接返回 false。
  2. 不断将 n 除以 2、3、5,直到 n 不能被这三个数整除为止。
  3. 如果最后 n 等于 1,则说明 n 只包含质因数 2、3、5,返回 true;否则,返回 false。

三、具体代码

class Solution {public boolean isUgly(int n) {// 判断 n 是否为正整数if (n <= 0) {return false;}// 不断将 n 除以 2、3、5,直到 n 不能被这三个数整除为止for (int factor : new int[]{2, 3, 5}) {while (n % factor == 0) {n /= factor;}}// 如果最后 n 等于 1,则返回 true;否则,返回 falsereturn n == 1;}
}

以上代码中,我们首先判断 n 是否为正整数,然后使用一个 for 循环和一个 while 循环来不断将 n 除以 2、3、5。如果最后 n 等于 1,则说明 n 只包含质因数 2、3、5,返回 true;否则,返回 false。

四、时间复杂度和空间复杂度

1. 时间复杂度

代码中的主要操作是循环除以 2、3、5,直到 n 不能被这三个数整除为止。假设 n 的质因数分解为 n = 2^a x 3^b x 5^c x d,其中 d 是除了 2、3、5 以外的质因数(如果有的话)。

  1. 第一个循环,当 n 能被 2 整除时,n 会除以 2,直到 n 不能被 2 整除。这需要最多 a 次操作。
  2. 第二个循环,当 n 能被 3 整除时,n 会除以 3,直到 n 不能被 3 整除。这需要最多 b 次操作。
  3. 第三个循环,当 n 能被 5 整除时,n 会除以 5,直到 n 不能被 5 整除。这需要最多 c 次操作。

因此,总的操作次数是 a + b + c,即 n 中 2、3、5 的质因数个数之和。在最坏的情况下,n 是 2、3、5 的幂,那么 a、b、c 可以达到 log_2(n)、log_3(n)、log_5(n)的数量级。因此,时间复杂度可以表示为 O(log_2(n) + log_3(n) + log_5(n))。由于对数函数的增长速度远低于线性函数,我们可以简化时间复杂度为 O(log n)。

2. 空间复杂度

代码中使用的额外空间主要是常数空间,即用于存储质因数 2、3、5 的数组。这个数组的大小是固定的,不随输入 n 的大小而变化。因此,空间复杂度为 O(1)。

五、总结知识点

  • 类定义

    • class Solution:定义了一个名为 Solution 的类。
  • 方法定义

    • public boolean isUgly(int n):定义了一个名为 isUgly 的公共方法,它接受一个整数参数 n 并返回一个布尔值。
  • 条件判断

    • if (n <= 0):使用了 if 语句来检查 n 是否小于或等于 0,用于判断 n 是否为正整数。
  • 循环结构

    • for (int factor : new int[]{2, 3, 5}):使用了增强型 for 循环(也称为“for-each”循环)来遍历一个整数数组,该数组包含质因数 2、3、5。
  • 数学运算

    • %:取模运算符,用于判断一个数是否能被另一个数整除。
    • /=:除法赋值运算符,用于将一个数除以另一个数,并将结果赋值给原数。
  • 逻辑运算

    • while (n % factor == 0)while 循环用于在 n 能被 factor 整除的情况下重复执行循环体内的代码。
  • 返回值

    • return false; 和 return n == 1;:根据条件返回布尔值 true 或 false
  • 数组初始化

    • new int[]{2, 3, 5}:使用数组初始化语法创建并初始化一个整数数组。

以上就是解决这个问题的详细步骤,希望能够为各位提供启发和帮助。

http://www.hkea.cn/news/788463/

相关文章:

  • 营销型网站建设市场seo黑帽技术有哪些
  • 扬中做网站的公司seo虚拟外链
  • 永川集团网站建设免费网站seo诊断
  • 国外 上海网站建设网络营销推广方式案例
  • 24手表网站网络技术推广服务
  • 鞍山网站制作推广游戏推广员判几年
  • 360如何做网站优化网页设计制作软件
  • 金华网站建设电话电商运营主要负责什么
  • 百度的官方网站游戏推广工作好做吗
  • 著名的深圳网站建设网页快照
  • 政务网站建设要求快速排名软件哪个好
  • 自己网站怎么做优化色盲和色弱的区别
  • 苏州建网站公司seo网络推广培训班
  • 福清市建设局网站石家庄学院
  • 找考卷做要去哪个网站中国国家培训网官网查询
  • 软件系统开发的大概步骤优化网站标题名词解释
  • 院校网站建设模板建站平台
  • 淘宝网站内搜索引擎优化怎么做广告推广平台网站有哪些
  • 大片播放网站国外免费推广网站有哪些
  • flash网站cms排名sem优化软件
  • 申请完域名怎么做网站百度链接提交
  • 驻马店市可以做网站的公司百度搜索竞价排名
  • 郑州市做网站吉林百度查关键词排名
  • 济宁网站建设seo抖音seo源码搭建
  • 茂名网站建设方案书简述seo和sem的区别
  • 江西网站做的好的企业文化百度指数在哪里看
  • 山东电商网站建设seo网站排名优化公司
  • 赤峰市做网站公司今日的最新消息
  • 上海最大的贸易公司seo网络推广机构
  • jsp 网站开发广告发布平台