342. Power of Four

Problem:

Given an integer (signed 32 bits), write a function to check whether it is a power of 4.

Example 1:

Input: 16
Output: true

Example 2:

Input: 5
Output: false

Follow up: Could you solve it without loops/recursion?

思路

Solution (C++):

bool isPowerOfFour(int num) {
    if (num <= 0)  return false;
    while (num%4 == 0)  num /= 4;
    if (num == 1)  return true;
    else return false;
}

性能

Runtime: 4 ms  Memory Usage: 6 MB

思路

Solution (C++):

bool isPowerOfFour(int num) {
    return (num > 0) && (num & (num-1))  == 0 && (num-1)%3 == 0;
}

性能

Runtime: 0 ms  Memory Usage: 5.9 MB

原文链接: https://www.cnblogs.com/dysjtu1995/p/12652317.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    342. Power of Four

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/340544

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午12:39
下一篇 2023年3月2日 上午12:39

相关推荐