【LeetCode】326. 3 的幂

news2024/11/23 3:25:59

326. 3 的幂(简单)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

方法一:试除法

思路

  • 我们可以先进行特殊点判断,n <= 0 的数都不可能是 3 的幂次方。
  • 接着,当 n > 0 n 能被 3 整除 时,我们对其整除 3 ,直到该条件不满足,我们就判断此时的 n, 如果 n == 1 ,即 30 ,说明原本的 n 是 3的幂次方。

代码

class Solution {
public:
    bool isPowerOfThree(int n) {
        if(n < 0) return false;
        while(n > 0 && n%3 == 0){
            // 能被3整除
            n /= 3;
        }
        return n == 1;
    }
};

方法二:倍数 & 约数

题目要求不能使用循环递归,而传参 n 的数据类型为 int,这引导我们首先分析出 int 范围内的最大 3 次幂是多少,约为 319=11622614673 。

如果 n 为 3 的幂的话,那么必然满足 n∗3k=1162261467,即 n 与 1162261467 存在倍数关系

因此,我们只需要判断 n 是否为 1162261467 的约数即可。

class Solution {
public:
    bool isPowerOfThree(int n) {
        return n > 0 && 1162261467 % n == 0;
    }
};

收获

  • 这道题理解起来很简单,但是一开始我陷入了一个误区,以为 -27 之类的数也是 3 的幂次方,导致算不出来。

  • 此外,投机取巧的方法二也需要掌握。

参考资料

宫水三叶:一题三解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/540030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MyBatis之缓存机制

缓存即为存在内存中的临时数据.将用户经常查询的数据存放在缓存(内存)中,用户去查询数据就不用去每次去数据库中查询,而是去缓存中查询,从而提高了查询的效率,解决了高并发系统的性能问题.MyBatis提供了两种缓存机制&#xff1a;一级缓存&#xff08;本地&#xff09;和二级缓存…

thinkphp6 消息队列think-queue(完整版)

1.安装队列依赖 如果是在Linux上&#xff0c;进入thinkphp项目的think文件所在目录&#xff0c;执行安装命令 composer require topthink/think-queue 2.修改queue的配置文件&#xff0c;文件位置config/queue.php(安装成功后自动生成) <?php return [default >…

Python实现ACO蚁群优化算法优化循环神经网络回归模型(LSTM回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…

Layui layer 弹出层的使用【笔记】

Layui layer 弹出层的使用 首先&#xff0c;为了方便直接通过在线cdn引入对应的css和js <!-- 引入 layui.css --> <link href"//unpkg.com/layui2.8.0/dist/css/layui.css" rel"stylesheet"> <!-- 引入 layui.js --> <script src&…

来自非985211的普通本科的Android面试题分享【网络安全】

文中附有详细的面试真题目&#xff0c;文末有我当时刷的面试真题还有一些对我帮助良多的复习资料&#xff0c;特别有用&#xff0c;希望也可以帮大家顺利上岸&#xff0c;顺便攒攒人品&#xff01; 个人的基本情况 本人出生在一个普通家庭&#xff0c;自身学历很一般&#xff…

现在的00后,真是卷死了呀,辞职信已经写好了·····

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。这不&#xff0c;三月份春招我们公司来了个00后&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪23K&#xff0c;都快接近我了。 后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了…

【taro react】---- 解决开发环境微信小程序由于主包体积过大不能预览问题

1. 开发环境代码包大小 注意:可以看到此时主包加分包将近 5MB,上传预览将会超出限制!!! 2. 预览结果 报错:代码包大小超过限制,主包资源近3MB,限制最大2MB!!! 3. 解决办法 使用webpack的压缩插件,在开发环境编译的时候进行压缩;进行分包处理,同时依赖也进行分包处…

冲刺618:新品变爆品,品牌如何提炼差异化卖点?

纵观2023年品牌生态&#xff0c;大牌强势、新锐崛起。618大促将至&#xff0c;当前市场营销内容同质化严重&#xff0c;如何占领用户心智&#xff0c;成为品牌营销的“考题”之一。千瓜&#xff5c;谦果营销 结合小红书品牌推广实操经验&#xff0c;沉淀总结品牌差异化卖点提炼…

OpenText Exceed TurboX 桌面虚拟化解决方案整合数据中心、提供高端图形显示

突出特点 2D 和 3D 图形应用程序的卓越性能远程访问&#xff1b; 全球团队的强大协作&#xff1b; 高级安全和集中管理&#xff1b; 从 MicrosoftWindows、Mac、Linux 或 iPad 远程访问。 企业正在寻求整合数据中心&#xff0c;达到减少 IT 支出并提高中央可管理性的目的。 同…

决策反馈均衡器介绍

参考链接&#xff1a;https://www.163.com/dy/article/GK6BBSEB0531PW97.html https://zhuanlan.zhihu.com/p/477141677 DFE全称为Decision Feedback Equalizer&#xff0c;即决策反馈均衡器。它是一种电信通信系统中常用的均衡器&#xff0c;在接收信号端实现等化器、滤波器和…

Selenium入门必备:学会用代码控制浏览器,打开网页、找到元素和退出浏览器

目录 一、前期准备 1、概述 2、学习目标 3、安装 二、selenium的基本使用 1、加载网页&#xff1a; 2、定位和操作&#xff1a; 3、查看请求信息&#xff1a; 4、退出 小结 三、元素定位的方法 学习目标 1、selenium的定位操作 2、元素的操作 小结 四、seleniu…

ThingsBoard 场景联动需求

0、需求 1、概述 当初有个兄弟请我帮他实现一个需求,需求如上,很简单,实现完成后我怕他操作不来,又写了这份文档给他,今天把这个文档的场景发出来,大家也可以学习一下思路 2、登录账号 系统层: 账号:sysadmin@thingsboard.org 密码:sysadmin 3、创建租户 新建租户…

MS COCO数据集介绍

MS COCO数据集介绍 MS COCO全称是Microsoft Common Objects in Context&#xff0c;是由微软开发维护的大型图像数据集&#xff0c;包括不同检测任务&#xff1a; Object Detection&#xff08;[主要处理人、车、大象等]&#xff09; DensePose&#xff08;姿态密度检测&…

12个超好用的免费在线工具,大大提高生产力,建议收藏!

好的工具&#xff0c;能够帮助我们更高效地完成工作&#xff0c;节省时间和精力; 节省出更多的摸鱼时间&#xff01; 本文将介绍12款绝佳的免费效率工具&#xff0c;这些工具可以让你事半功倍&#xff0c;提高工作效率。无论你是一名程序员、设计师、学生还是白领&#xff0c;…

超级秘密文件夹忘记密码的解决办法

超级秘密文件夹是一款非常特殊的文件夹加密软件&#xff0c;它来无影去无踪&#xff0c;在安装后不会留下任何痕迹&#xff0c;只能通过软件热键才能打开。那么如果在使用过程中忘记了密码&#xff0c;这时我们该怎么办呢&#xff1f;下面我们就来了解一下。 首先&#xff0c;我…

【历史上的今天】5 月 18 日:微软反垄断诉讼;携程旅行网上线;谷歌首次公布 TPU

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 5 月 18 日&#xff0c;在 1939 年的今天&#xff0c;彼得格伦伯格&#xff08;Peter Grunberg&#xff09;出生。格伦伯格是一名德国物理学家&#xff0c;是诺…

【jvm系列-12】jvm性能调优篇---GUI工具的基本使用

JVM系列整体栏目 内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhenghuishengq/article/details/129610963【三】运行时私有区域之虚拟机栈…

五分钟学会Playwright录制脚本的方法以及语法难点

这篇文章系统地介绍了上手Playwright的方法&#xff0c;但是录制脚本部分讲解不够详尽&#xff0c;今天我在这里重点的介绍一下Playwright 录制脚本的方法来丰满我的Playwright系列技术文章。 Playwright可以使用codegen来录制脚本&#xff0c;使用方式非常简单&#xff0c;只…

Windows 安全基础

Windows 隐藏账号 命令行输入以下命令&#xff0c;可以进行简单的隐藏&#xff08;命令行下不可见&#xff09; net user test$ 123456 /add net localgroup administrators test$ /add 通过注册表隐藏用户&#xff08;实现步骤如下&#xff09;&#xff1a; 要实现很好的…

文生图关键问题探索:个性化定制和效果评价

文生图&#xff08;Text-to-Image Generation&#xff09;是AIGC&#xff08;AI Generated Content&#xff0c;人工智能生成内容&#xff09;的一个主要方向。近年来&#xff0c;文生图模型的效果和质量得到飞速提升&#xff0c;投资界和研究界都在密切关注文生图模型的进展。…