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

Leetcode326. 3 的幂

Every day a leetcode

题目来源:326. 3 的幂

相似题目:342. 4的幂

解法1:递归

代码:

/** @lc app=leetcode.cn id=326 lang=cpp** [326] 3 的幂*/// @lc code=start
class Solution
{
public:bool isPowerOfThree(int n){if (n <= 0)return false;if (n == 1)return true;if (n % 3 == 0)return isPowerOfThree(n / 3);elsereturn false;}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(logn),当n是3的幂时,需要除以3的次数为log3n=O(logn);当n 不是3的幂时,需要除以3的次数小于该值。

空间复杂度:O(logn),取决于递归栈的具体实现。

解法2:暴力

在题目给定的32位有符号整数的范围内,最小的3的幂为30=1,最大的3的幂为319=1162261467。

我们使用数组记录30到319,再在这个数组里查找即可。

代码:

/** @lc app=leetcode.cn id=326 lang=cpp** [326] 3 的幂*/// @lc code=start
// class Solution
// {
// public:
//     bool isPowerOfThree(int n)
//     {
//         if (n <= 0)
//             return false;
//         if (n == 1)
//             return true;
//         if (n % 3 == 0)
//             return isPowerOfThree(n / 3);
//         else
//             return false;
//     }
// };class Solution
{
public:bool isPowerOfThree(int n){vector<int> nums;for (int i = 0; i <= 19; i++)nums.push_back(pow(3, i));return count(nums.begin(), nums.end(), n);}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(1)。

空间复杂度:O(1)。

http://www.lryc.cn/news/64925.html

相关文章:

  • 【运动规划算法项目实战】如何在栅格地图中实现Dijkstra算法
  • 【算法】一文彻底搞懂ZAB算法
  • 【软考高级】2022年系统分析师综合知识
  • 关于AI未来的思考和应用场景
  • 智慧城市规划数字化管理:数字孪生技术的创新应用
  • 开心档之C++ 指针
  • 零基础搭建私人影音媒体平台【远程访问Jellyfin播放器】
  • Abstract Expressionist
  • 【郭东白架构课 模块二:创造价值】24|节点四:如何减少语义上的分歧?
  • windows下免费本地部署类ChatGpt的国产ChatGLM-6B
  • flask+opencv+实时滤镜(原图、黑白、怀旧、素描)
  • 【SCI征稿】极速送审,中科院2区(TOP)计算机算法类SCI,数据库稳定检索19年
  • 1992-2022年31省GDP、第一产业增加值、第二产业增加值 第三产业增加值
  • 100种思维模型之万物系统思维模型-57
  • Java 中的包装类是什么?如何使用包装类来操作基本数据类型(二十二)
  • 【Python入门】Pycharm的使用指南
  • python搭建HaIcon物联平台!
  • GUI编程(二)
  • 俩小伙一晚上写了个 AI 应用,月入两万??(文末附开发教程)
  • Python爬虫常用框架
  • 2023亚马逊云科技研究,数字化技能为中国企业和员工带来经济效益
  • springboot使用mybatis
  • 为什么是三次握手和四次挥手
  • Codeforces Round 867 (Div 3) 总结
  • vue修饰符的使用
  • 2023年五一数学建模 B 题过程与结果
  • 搞懂 API ,API 中 URI 设计规范分享
  • 【DarkLabel】使用教程(标注MOT数据集)
  • Python3 迭代器与生成器
  • C++基础 类的自动转换和强制类型转换