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

力扣 刷题(第七十一天)

灵感来源 

- 保持更新,努力学习

- python脚本学习

4的幂

解题思路

  1. 位运算条件:4 的幂的二进制表示中只有一个 1,且位于奇数位(如 4¹ = 1004² = 10000)。
  2. 模运算条件:4 的幂减 1 后能被 3 整除(数学性质:4^k - 1 = (2^k - 1)(2^k + 1),其中一个因子必为 3 的倍数)。
    class Solution:def isPowerOfFour(self, n: int) -> bool:# 条件1:n > 0# 条件2:n是2的幂(通过n & (n-1) == 0判断)# 条件3:n减1后能被3整除(4^k - 1是3的倍数)return n > 0 and (n & (n - 1)) == 0 and (n - 1) % 3 == 0

逐行解释

class Solution:def isPowerOfFour(self, n: int) -> bool:# 条件1:n必须为正整数# 4的幂定义为4^k(k为非负整数),因此n必须大于0# 例如:4^0=1, 4^1=4, 4^2=16...condition1 = n > 0# 条件2:n必须是2的幂# 2的幂的二进制表示中只有一个1,例如:2=10, 4=100, 8=1000...# 通过n & (n-1) == 0判断,例如:# - n=4(100) & 3(011) = 000 → 满足条件# - n=6(110) & 5(101) = 100 → 不满足条件condition2 = (n & (n - 1)) == 0# 条件3:n减1后能被3整除# 数学性质:4^k - 1 = (2^k - 1)(2^k + 1),其中一个因子必为3的倍数# 例如:# - 4^1 - 1 = 3 → 3是3的倍数# - 4^2 - 1 = 15 → 15是3的倍数condition3 = (n - 1) % 3 == 0# 同时满足三个条件时,n才是4的幂return condition1 and condition2 and condition3

http://www.lqws.cn/news/563437.html

相关文章:

  • 可观测性的哲学
  • 学习使用dotnet-dump工具分析.net内存转储文件(2)
  • 求区间最大值
  • 软件项目管理期末考试大题
  • 逆向入门(22)程序逆向篇-TraceMe
  • 【纯干货】调整word目录中的行距以及右对齐页码
  • 高端电影色调人像风光大片摄影后期调色Lightroom预设,手机滤镜下载!
  • Linux软连接和硬连接
  • 从 “慢如蜗牛” 到 “风驰电掣”:中欧跨境网络专线加速方案
  • spring-ai-alibaba DashScopeCloudStore自动装配问题
  • 论文阅读 Align before Fuse (ALBEF)
  • EXISTS 和 NOT EXISTS 、IN (和 NOT IN)
  • 每日算法刷题Day40 6.27:leetcode前缀和3道题,用时1h20min
  • 1.2 基于蜂鸟E203处理器的完整开发流程
  • 【大模型】Query 改写常见Prompt 模板
  • 【转】PostgreSql的镜像地址
  • InfluxDB 3 Core最后值缓存深度实践:毫秒级响应实时数据的核心引擎
  • Mysql架构
  • c++学习(五、函数高级)
  • 大事件项目记录11-文章分类接口开发-删除文章分类
  • Qt:QCustomPlot库简介
  • Vue基础(18)_收集表单数据
  • debian国内安装docker
  • 【经验】bitsandbytes安装-LLAVA-1.5库调试
  • 【数据标注师】分类标注
  • AD 学习笔记——第一章 系统的安装及参数设置
  • 一个简单测试Deepseek吞吐量的脚本,国内环境可跑
  • 印度和澳洲的地理因素
  • 西门子S7-200 SMART PLC:小型自动化领域的高效之选
  • 数据库(MYsql)