Day23

  1. Hamming Distance
    思路:比较两个数的二进制数形式里面的比特数不同的位数有多少位

【Ours】

class Solution(object):
    def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
        distance = 0
        shang1,shang2 = x,y
        while shang1 or shang2:
            [shang1,yu1] = divmod(shang1,2)
            [shang2,yu2] = divmod(shang2,2)
            if yu1 != yu2:
                distance += 1
        return distance

【简洁版】
^ 按位异或运算符:当两对应的二进位相异时,结果为1
bin() 返回一个整数 int 或者长整数 long int 的二进制表示。
count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
        return bin(x^y).count('1')

  1. Self Dividing Numbers
    思路:判断数字能否整除他每一位上的数字。
  • all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否不为 0、''、False 或者 iterable 为空,如果是返回 True,否则返回 False。
  • filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
    该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给is函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
class Solution(object):
    def selfDividingNumbers(self, left, right):
        is_self_dividing = lambda num: '0' not in str(num) and all([num % int(digit) == 0 for digit in str(num)])
        return filter(is_self_dividing, range(left, right + 1))
class Solution(object):
    def selfDividingNumbers(self, left, right):
        """
        :type left: int
        :type right: int
        :rtype: List[int]
        """
        a = []
        for i in range(left,right+1):
            if '0' not in str(i) and all(i% int(j) == 0 for j in str(i)):
                a.append(i)
        return a 
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内置函数Python解释器内置了许多功能和类型,总是可用的。他们是按字母顺序列在这里。 abs(x)返回一个数的绝...
    uangianlap阅读 5,034评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • 焦虑,不是我们的敌人 我们为什么会经常焦虑? 1. 对未来发生的事不可预测,不可控制 人之所以会担忧和焦虑,主要原...
    AA牧之源山庄阅读 1,859评论 0 0
  • 如果偶然看时间发现数字显示相同说明你心里在想的人也同样在想你
    张pangpang阅读 1,046评论 0 0
  • 外婆好点了可以吃点了,之前婆婆和我说她很难过外婆摔成这样,结果前天我问她外婆咋了,她竟然那天没去看外婆,好虚伪啊!...
    maomizone阅读 1,027评论 0 0