首页 > 其他分享 >力扣231、326 2的幂,3的幂

力扣231、326 2的幂,3的幂

时间:2023-07-10 16:56:25浏览次数:28  
标签:return 示例 int self Solution 力扣 bool 326 231

示例 1:

输入:n = 1
输出:true
解释:20 = 1

示例 2:

输入:n = 16
输出:true
解释:24 = 16

示例 3:

输入:n = 3
输出:false

示例 4:

输入:n = 4
输出:true

示例 5:

输入:n = 5
输出:false
思考:

考虑到是找二的幂,那就是换成二进制,令n与n-1相与,如果是0说明是2的幂,如果不是,就要返回False。

class Solution:
    def isPowerOfTwo(self, n: int) -> bool:
        return n>0 and n&(n-1) == 0

另一种方法是一直除以2,若不是2的幂,就返回False,如果是就是True。

class Solution:
    def isPowerOfTwo(self, n: int) -> bool:
        return n>0 and n&(n-1) == 0

3的幂:

class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        while n != 0 and n%3 ==0:
            n = n//3
        return n ==1

标签:return,示例,int,self,Solution,力扣,bool,326,231
From: https://www.cnblogs.com/lx173/p/17541597.html

相关文章

  • 力扣11. 盛最多水的容器
    题目:给定一个长度为n的整数数组 height 。有 n 条垂线,第i条线的两个端点是 (i,0) 和 (i,height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。 示例1: 输入:[1,8,6,2,5,4,8,......
  • 力扣605. 种花问题
    题目:假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed表示花坛,由若干0和1组成,其中0表示没种植花,1表示种植了花。另有一个数 n,能否在不打破种植规则的情况下种入 n 朵......
  • 力扣 334. 递增的三元子序列
    题目:给你一个整数数组 nums,判断这个数组中是否存在长度为3的递增子序列。如果存在这样的三元组下标(i,j,k) 且满足i<j<k,使得 nums[i]<nums[j]<nums[k],返回true;否则,返回false。 示例1:输入:nums=[1,2,3,4,5]输出:true解释:任何i<j<k的三元组都......
  • iframe编码为utf-8.嵌入页面为gb2312 ,word导出默认为gb2312 格式
    1、使用记事本打开html,另存为,保存类型选择:"所有文件"、编码选择:“UTF-8” 2、打开保存后文件编码类型改成utf-8<metacharset="utf-8"/>第一个步骤是为了把内容改成utf-8,然后直接执行第二步改编码可能会报乱码......
  • 力扣1. 两数之和
    问题:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。 思考:1.利用暴力法......
  • 将以%号开头的gb2312编码转化为汉字
    解码importurllib.parsemao='%C3%AB%CF%FE%CD%AE'#此编码格式为gb2312mao=urllib.parse.unquote(mao,encoding='gb2312')#urllib.parse.unquote()的默认编码格式为‘utf-8’print(mao)guan='%E5%85%B3%E6%99%93%E5%BD%A4'......
  • 力扣 290 字母的是否符合规律规律
    #规律aabb;单词catcatdogdog;符合规律返回true。defwordPattern(规律:str,给定字符串:str):res=给定字符串.split()returnlist(map(规律.index,规律))==list(map(res.index,res))#验证result=wordPattern("aabb","catcatdogdoggg")print......
  • 关于力扣题的sql集训感悟
    在学习SQL的过程中,很多人都会选择参加力扣的SQL集训。力扣是一个面向程序员的在线编程平台,它提供了大量的算法题和数据库题,可以帮助我们提升编程能力和解决实际问题的能力。在参加力扣的SQL集训后,我有了一些感悟和收获,下面我将分享给大家。第一,系统学习和巩固SQL知识。力扣的SQL集......
  • 力扣之旅-0级小白到1级小白
    0到1是一个巨大的进步!海明威说过:“优于别人并不高贵,真正的高贵是优于过去的自己“目录:引言开始的挫折与挑战寻找解题思路和技巧持之以恒与刻意练习克服困难和失败的心态高效学习和准备复习寻求帮助和合作成功的喜悦与未来计划1、引言力扣是一个在线编程挑战平台,提供了广泛的算法和......
  • 力扣217题
    #给你一个整数数组nums。#如果任一值在数组中出现至少两次,返回true;#如果数组中每个元素互不相同,返回false。defremove_dup(nums):unique_nums=list(set(nums))returnunique_numsdefis_xiangdeng(nums):result=remove_dup(nums)ifnums==result:......