位运算
位运算
qxlxi
21届本,后端工程师 (专注于Java、Go、数据库、缓存、消息队列、网络、OS、算法、软件设计、DevOps、云原生、大数据、分布式系统架构设计等)
展开
-
【每日一题-leetcode】371. 两整数之和
371. 两整数之和难度简单296不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1 // a = 1 b = 2 // binary num : a= 0001 b=0010 // first bit : a+b = 1 // second bit : a+b = 1 // sum原创 2020-08-12 15:35:30 · 282 阅读 · 0 评论 -
【每日一题-leetcode】289. 生命游戏
289. 生命游戏生命游戏难度中等234根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡;如果活细胞周围八个位置有两个或三个活细胞,则该位置活原创 2020-07-24 13:57:49 · 408 阅读 · 1 评论 -
【每日一题-leetcode】338. 比特位计数
338. 比特位计数比特位计数难度中等349给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]1.位运算// 问题分析 主要是计算出每个位数Num是否为1 并且当前的1的个数 //而本题的思路 显然不是按照这样做。而是把num分隔成多个数字来看当前的位数1的个数。 /原创 2020-07-16 11:32:22 · 375 阅读 · 0 评论 -
【每日一题-leetcode】461.汉明距离
461.汉明距离汉明距离难度简单293两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意: 0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。x^y 亦或 求 i 1的个数。public int hammingDistance(int原创 2020-07-05 09:35:42 · 347 阅读 · 0 评论 -
【每日一题-leetcode】136.只出现一次的数字
136.只出现一次的数字只出现一次的数字难度简单1351给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 41.hash表对于此类问题,使用hashmap即可解决,但是时间复杂度和空间都是O(n)public int singleNumber(int[] nu原创 2020-07-02 19:13:07 · 556 阅读 · 0 评论 -
【剑指offer】65.不用加减乘除做加法
65.不用加减乘除做加法面试题65. 不用加减乘除做加法难度简单26写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出: 2/** 可以将元素进行划分 相加 和 进位操作。^ 相加 &进位*/public int add(int a, int b) { in...原创 2020-05-07 12:06:30 · 306 阅读 · 0 评论 -
【每日一题-leetcode】190.颠倒二进制位
190.颠倒二进制位颠倒二进制位难度简单161颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596, ...原创 2020-05-06 16:10:43 · 484 阅读 · 0 评论 -
【每日一题-leetcode】231.2的幂
231.2的幂2的幂难度简单188给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1//2的幂可以理解为 二进制中仅有一个数字为1 public boolean isPowerOfTwo(int n) { if(n <= 0) return false; ret...原创 2020-05-06 15:40:56 · 321 阅读 · 0 评论 -
【每日一题-leetcode】191.位1的个数
191.位1的个数位1的个数难度简单162编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。示例 2:输入:000000...原创 2020-05-06 11:48:23 · 298 阅读 · 0 评论 -
【剑指offer】15.二进制中1的个数
15.二进制中1的个数请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。示...原创 2020-04-02 11:28:06 · 289 阅读 · 0 评论