
LeetCode_位运算
zhongyuankai
done
展开
-
LeetCode-136-只出现一次的数字--位运算
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4思路:1. 如果我们对 0 和二进制位做 异或运算(相同的false,不同的为true),得到的仍然是这个二进制位...原创 2019-12-16 13:40:50 · 2490 阅读 · 0 评论 -
LeetCode-371-两整数之和--位运算
不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1题目说不能使用运算符 + 和 -,那么我们就要使用其他方式来替代这两个运算符的功能。位运算中的加法我们先来观察下位运算中的两数加法,其实来来回回就只有下面这四种:0 + 0 =...原创 2019-12-15 13:35:38 · 2563 阅读 · 0 评论 -
LeetCode-数字转换为十六进制数_405--位运算
给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。注意:十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 给定的数确保在32位有符号整数范围内。不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。...原创 2019-12-11 16:36:24 · 2545 阅读 · 0 评论 -
LeetCode-判断2次幂和4次幂-231-342--位运算
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false思路:2的幂次方的二进制最高位为1,其余为0,2的幂次方-1则是最高位为0其余为1,将这两个数做与运算则结果一定为0;详解见leetcode官网。代码:...原创 2019-12-11 11:55:56 · 2605 阅读 · 0 评论