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

power of three java_【LeetCode】326. Power of Three 3的幂(Easy)(JAVA)

【LeetCode】326. Power of Three 3的幂(Easy)(JAVA)

题目描述:

Given an integer n, return true if it is a power of three. Otherwise, return false.

An integer n is a power of three, if there exists an integer x such that n == 3^x.

Example 1:

Input: n = 27

Output: true

Example 2:

Input: n = 0

Output: false

Example 3:

Input: n = 9

Output: true

Example 4:

Input: n = 45

Output: false

Constraints:

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

Follow up: Could you do it without using any loop / recursion?

题目大意

给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。

整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3^x

进阶:

你能不使用循环或者递归来完成本题吗?

解题方法

对 n 判断是否能整除 3, 如果能继续循环,直到不能整除 3 为止

最后如果结果等于 1, 就说明是 3 的幂次方

class Solution {

public boolean isPowerOfThree(int n) {

if (n <= 0) return false;

while (n % 3 == 0) {

n /= 3;

}

return n == 1;

}

}

执行耗时:15 ms,击败了99.06% 的Java用户

内存消耗:38.3 MB,击败了73.10% 的Java用户

不用循环

int 范围内 3 的幂次方的最大值是 1162261467

所以所有 3 的幂次方: 1162261467 % n 的取余都是 0,其他数都不等于 0

class Solution {

public boolean isPowerOfThree(int n) {

return (n > 0 && (1162261467 % n == 0));

}

}

执行耗时:17 ms,击败了46.11% 的Java用户

内存消耗:38.3 MB,击败了69.07% 的Java用户

欢迎关注我的公众号,LeetCode 每日一题更新

标签:Java,Power,true,Three,Output,次方,JAVA,Input,Example

来源: https://blog.csdn.net/qq_16927853/article/details/111245139

相关文章:

  • python2和pytho3切换_电脑上同时安装Python2和Pytho
  • 学JS对学Java有用吗_【JS】编程语言那么多,为啥学Java的人那么多?
  • java offset用法_Java OffsetTime plusMinutes()用法及代码示例
  • php 判断是否对象_利用PHP判断JSON对象是否存在
  • php链接数据库2000,Linux下PHP连接Microsoft SQL Server 2000(图)
  • java获取内存变量,java – 易失性变量,从主内存刷新/读取
  • java二维函数怎么放到表里,调用函数传递二维数组
  • jsonrpc php使用,基于php的json rpc原理及应用
  • php正则表达式变量替换,js正则表达式replace替换变量方法
  • php ab webbance,Apache的ab工具实例详解
  • 腾讯的PHP框架,腾讯音视频 TRTC
  • php定时刷新token,PHP定时任务获取微信access_token的方法实例分享
  • java机房上机模拟系统,机房上机安排管理系统,基于B/S模式下的JAVA系统
  • java引用技术,Java 8 方法引用
  • MATLAB简单绘图命令,简单的matlab绘图命令
  • ----------
  • Docker: 容器互访的三种方式
  • exports和module.exports
  • gcc介绍及安装
  • IOS评论框不贴底(ios12新bug)
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • java多线程
  • Linux CTF 逆向入门
  • mysql外键的使用
  • Python socket服务器端、客户端传送信息
  • Python爬虫--- 1.3 BS4库的解析器
  • vue-cli在webpack的配置文件探究
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 基于HAProxy的高性能缓存服务器nuster
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 实战|智能家居行业移动应用性能分析
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • ​io --- 处理流的核心工具​
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (初研) Sentence-embedding fine-tune notebook
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (实战篇)如何缓存数据
  • (一)RocketMQ初步认识
  • (一)插入排序
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)ObjectiveC 深浅拷贝学习
  • (转)Scala的“=”符号简介
  • .gitignore文件_Git:.gitignore
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET 材料检测系统崩溃分析
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET6实现破解Modbus poll点表配置文件
  • .NET命名规范和开发约定
  • /bin/rm: 参数列表过长"的解决办法
  • ::前边啥也没有
  • @Async注解的坑,小心