LeetCode 训练场:342. 4 的幂
发布日期:2021-06-29 18:13:46 浏览次数:2 分类:技术文章

本文共 541 字,大约阅读时间需要 1 分钟。

1. 题目

2. 描述

给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。

示例 1:

输入: 16

输出: true

示例 2:

输入: 5

输出: false

3. 思路

已知 4 n = n u m 4^n=num 4n=num,其中 n n n 为整数,那么可以用 n u m num num 去不断的除以 4,然后对最终结果进行判断,如果为 1,则说明该数是一个 4 的幂。

主要进行的是循环操作,时间复杂度为 O ( l o g n ) O(logn) O(logn)

4. 实现

public boolean isPowerOfFour(int num) {
// num 为 0 不满足 if (num == 0) {
return false; } // 4 的幂次方可能能被 4 整除 while (num % 4 == 0) {
num /= 4; } // 将最后的 num 和 1 进行比较,如果是 4 的幂次方,那么最后的 num 应该是 1,如果不是,那么最后的 num 就不是 1 return num == 1;}

转载地址:https://cunyu1943.blog.csdn.net/article/details/107162280 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:1、Maven 简介
下一篇:LeetCode 训练场:35. 搜索插入位置

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月20日 17时09分42秒