
剑指Offer
xxxxxyyya
这个作者很懒,什么都没留下…
展开
-
剑指 Offer II 003. 前 n 个数字二进制中 1 的个数
题目:给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。1.对于任意一个偶数,其二进制中1的个数与右移一位的新数字相同,如10(1010)右移后为5(0101)2.对于任意一个奇数,其其二进制中1的个数等于-1后的偶数+1,如5(0101)-1后为4(0100)+13.>> :按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。符号位不变。class Solution { .原创 2022-03-07 10:31:41 · 118 阅读 · 0 评论 -
剑指 Offer II 002. 二进制加法
题目:给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。输入为 非空 字符串且只包含数字 1 和 0。提示:每个字符串仅由字符 '0' 或 '1' 组成。 1 <= a.length, b.length <= 10^4 字符串如果不是 "0" ,就都不含前导零。基础巩固:左移运算符m<<n表示把m左移n位。如果左移n位,那么最左边的n位将被丢弃,同时在最右边补上n个0。右移运算符m>>n表示把m右移n位。如果右移n位,则最右边原创 2022-03-06 14:43:03 · 255 阅读 · 0 评论 -
剑指 Offer II 001. 整数除法
题目:给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 '*'、除号 '/' 以及求余符号 '%' 。注意:整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8以及truncate(-2.7335) = -2 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31,2^31−1]。本题中,如果除法结果溢出,则返回 2^31− 11.最初的想法:以减法代替除法,如5/2可转化为5-2-2,记录减法的次数即...原创 2022-03-06 11:43:35 · 201 阅读 · 0 评论