当前位置: 首页 > 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.lryc.cn/news/576628.html

相关文章:

  • 车载诊断架构 --- 非易失性存储器(NVM)相关设置项
  • 电子电气架构 --- 车辆产品的生产周期和研发周
  • vue-29(创建 Nuxt.js 项目)
  • EXISTS 和 NOT EXISTS 、IN (和 NOT IN)
  • 基于Spring Boot的网上购物平台设计与实现
  • 星际争霸数据集指南
  • 桌面小屏幕实战课程:DesktopScreen 16 HTTP
  • MySQL 索引 -- 磁盘,主键索引,唯一索引,普通索引,全文索引
  • TDengine 如何使用 MQTT 采集数据?
  • PyQtNode Editor 第三篇创建节点(节点的定义)
  • 【图像处理基石】什么是摄影的数码味?
  • 基于Docker的mosquitto安装测试
  • 如何用VS Code、Sublime Text开发51单片机
  • python打卡day45
  • 顺序表的常见算法
  • FPGA设计的时序分析概要
  • 鸿蒙 Grid 与 GridItem 深度解析:二维网格布局解决方案
  • 【 Linux 输入子系统】
  • python的医疗废弃物收运管理系统
  • 【力扣 中等 C】79. 单词搜索
  • Webpack 核心与基础使用
  • 数据结构之——顺序栈与链式栈
  • 个人日记本小程序开发方案(使用IntelliJ IDEA)
  • ORB-SLAM + D435i提取相机位姿 + ROS发布
  • 现代串口通讯UI框架性能对比
  • 容器安全——AI教你学Docker
  • 机器学习——线性回归
  • 【数据标注师】3D标注
  • 使用Calibre对GDS进行数据遍历
  • Note2.4 机器学习:Batch Normalization Introduction