美文网首页
剑指offer

剑指offer

作者: amilyxy | 来源:发表于2020-02-10 11:25 被阅读0次

因为很多题目跟力扣上的很相似,所以剑指offer上的就挑着总结吧...

1. 二进制中1的个数

原题
做这个题本来的解决思路:bin(n)然后统计'1'的个数,但由于题目说明负数是以补码表示,所以当n<0时无法通过。
明确一下:
① python中整型是以补码的形式存储的,正数的原码、反码、补码一致,而负数的原码、反码、补码不一致,需要按照一定的规则进行计算。
② python中bin(负数)hex(负数)输出为其正数原码二进制、十六进制表示加一个负号:

>>> bin(-3)
'-0b11'
>>> hex(-3)
'-0x3'

③ python中如何获取补码?
和0xffffffff按位与是针对不超过32位的数

# 对正数而言,原码即为补码
>>> bin(10)
'0b1010'
# 对负数而言 将其与0xffffffff按位与之后得到负数的补码
>>> bin(-10)
'-0b1010'
>>> bin(-10&0xffffffff)   #具体操作为:1.负数取反码加一 2.按位与
'0b11111111111111111111111111110110'

相关文章

  • 全网最全剑指offer题目解答

    【剑指offer】Java版代码(完整版) 【剑指offer】1-10题 【剑指offer】11-20题 【剑指o...

  • 剑指offer 和 leetcode题目

    剑指offer leetcode

  • 单例模式

    单例模式 最近在看《剑指offer》,根据《剑指offer》的讲解,结合《effectiveJava》简单学习了一...

  • 年龄排序

    摘抄资料:《剑指offer》

  • 剑指offer

    第一题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,...

  • 《剑指offer》

    4.调整数组顺序使奇数位于偶数前面 题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇...

  • 剑指offer

    二维数组中查找数在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到...

  • 剑指offer

    剑指offer题目 1 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。...

  • 剑指offer

    1.链表反转 1、输出倒数第k个数

  • 剑指Offer

    S1 S2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s1...

网友评论

      本文标题:剑指offer

      本文链接:https://www.haomeiwen.com/subject/epeothtx.html