
位运算
KroneX
ACM退役选手,热爱优雅、高效、有创造力的技术,本博客记录题解,编程tips,计算机相关知识,心得等。
展开
-
【leetcode】剑指 Offer 16. 数值的整数次方(shu-zhi-de-zheng-shu-ci-fang-lcof)(快速幂)[中等]
链接https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/耗时解题:6 min题解:6 min题意实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。注意:本题与主站 50 题相同:https://leetcode-cn.com/problems/powx-n/提示:-100.0 < x < 100.0−231<=n<=231原创 2021-06-16 21:29:36 · 174 阅读 · 0 评论 -
【leetcode】1310. 子数组异或查询(xor-queries-of-a-subarray)(位运算)[中等]
链接https://leetcode-cn.com/problems/xor-queries-of-a-subarray/耗时解题:5 min题解:4 min题意有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[原创 2021-05-12 10:19:40 · 178 阅读 · 0 评论 -
【leetcode】1734. 解码异或后的排列(decode-xored-permutation)(位运算)[中等]
链接https://leetcode-cn.com/problems/decode-xored-permutation/耗时解题:1 h 15 min题解:41 min题意给你一个整数数组 perm ,它是前 n 个正整数的排列,且 n 是个 奇数 。它被加密成另一个长度为 n - 1 的整数数组 encoded ,满足 encoded[i] = perm[i] XOR perm[i + 1] 。比方说,如果 perm = [1,3,2] ,那么 encoded = [2,1] 。给你 en原创 2021-05-11 16:25:55 · 167 阅读 · 1 评论 -
【leetcode】1720. 解码异或后的数组(decode-xored-array)(位运算)[简单]
链接https://leetcode-cn.com/problems/decode-xored-array/耗时解题:8 min题解:11 min题意未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元原创 2021-05-06 14:28:15 · 236 阅读 · 0 评论 -
【leetcode】461. 汉明距离(hamming-distance)(位运算)[简单]
链接https://leetcode-cn.com/problems/hamming-distance/耗时解题:7 min题解:3 min题意两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。思路把 两个数 每一位的异或值 加和。时间复杂度:O(n)O(n)O(n)AC代码class Solution {public: int hammingDistance(int x, int y) {原创 2020-10-04 20:26:00 · 250 阅读 · 0 评论 -
【leetcode】78. 子集(subsets)(位运算)[中等]
链接https://leetcode-cn.com/problems/subsets/耗时解题:10 min题解:19 min题意给定一组 不含重复元素 的整数数组 nums,返回该数组所有可能的子集(幂集)。说明: 解集不能包含重复的子集。思路二进制加的思想,枚举出所有可能子集(幂集)。数组中一个元素要么有要么没有,二进制的每一位就相当于是这样,所以准备一个 n 位的二进制数,使得它从 000…00 加到 1111…11,每次遍历这个二进制数的每一位,如果当前位是 1 就加入集合,否则原创 2020-09-20 12:43:47 · 170 阅读 · 0 评论 -
【leetcode】201. 数字范围按位与(bitwise-and-of-numbers-range)(位运算)[中等]
链接https://leetcode-cn.com/problems/bitwise-and-of-numbers-range/耗时解题:1 h 21 min题解:28 min题意给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。思路首先,如果 m 是 0,结果肯定为 0;如果 m == n,与完也应该是本身。然后如果 n 的二进制位数 比 m 的二进制位数 多,那么肯定是 0,因为原创 2020-08-23 19:00:06 · 227 阅读 · 0 评论 -
【leetcode】136. 只出现一次的数字(Single Number)(位运算)[简单]
链接https://leetcode-cn.com/problems/single-number/题意给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?思路标签位运算,常见位运算有 与(&)、或(|)、取反(~)、异或(^)……对,就是 异或。(手动狗头)...原创 2019-10-16 15:51:32 · 185 阅读 · 0 评论