随笔分类 -  位运算

摘要:题目描述 给定n个整数,第i个为ai​,请你统计有多少对无序对(i,j),满足i≠j且(ai&aj)>(ai⊕aj)。其中&代表二进制按位与,⊕代表二进制按位异或。无序对的意思是(i,j)被视为同一对。 输入描述 第一行输入正整数n,接下来一行n个整数表示ai。1≤n≤2×10^5,0≤ai≤10^ 阅读全文
posted @ 2022-07-16 10:21 没有你哪有我 阅读(66) 评论(0) 推荐(0) 编辑
摘要:网上很多只是说为了不浪费而简单定义,但光简单定义肯定不行的,肯定还需要符合运算规律。其实计算机对补码的存储和解释,不一定非要经过源码这一环,那是对人的一种换算方式,1000 0000[补] = -128 是符合运算规律的。比如:-128 + 1 = -127[1000 0000]补 + [0000 阅读全文
posted @ 2021-05-30 17:21 没有你哪有我 阅读(551) 评论(1) 推荐(0) 编辑
摘要:题目描述 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。示例 1:输入:n = 1输出:true解释:20 = 1示例 2:输入:n = 16输出:true解释:2 阅读全文
posted @ 2021-05-30 15:17 没有你哪有我 阅读(529) 评论(0) 推荐(0) 编辑
摘要:题目描述 两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:Hammi 阅读全文
posted @ 2021-05-28 17:39 没有你哪有我 阅读(91) 评论(0) 推荐(0) 编辑
摘要:大多数编程语言都内置了计算二进制表达中 1 的数量的函数 就拿Java语言来说:求两个数字对应二进制位不同的位置的数目,可以直接使用Java中包装类Integer中的bitCount(int a)方法来计算 1 class Solution { 2 public int hammingDistanc 阅读全文
posted @ 2021-05-27 12:19 没有你哪有我 阅读(179) 评论(0) 推荐(0) 编辑
摘要:前言 本文需要读者了解字典树的相关知识,建议读者先认真看懂这篇博客 字典树(前缀树),在充分理解该题做法后继续阅读。 题目描述 给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries ,其中 queries[i] = [xi, mi] 。第 i 个查询的答案是 xi 和任何 nu 阅读全文
posted @ 2021-05-23 20:55 没有你哪有我 阅读(122) 评论(0) 推荐(0) 编辑
摘要:题目描述 黑板上写着一个非负整数数组 nums[i] 。Alice 和 Bob 轮流从黑板上擦掉一个数字,Alice 先手。如果擦除一个数字后,剩余的所有数字按位异或运算得出的结果等于 0 的话,当前玩家游戏失败。 (另外,如果只剩一个数字,按位异或运算得到它本身;如果无数字剩余,按位异或运算结果为 阅读全文
posted @ 2021-05-22 20:02 没有你哪有我 阅读(143) 评论(0) 推荐(0) 编辑
摘要:题目描述 给你一个整数数组 arr 。现需要从数组中取三个下标 i、j 和 k ,其中 (0 <= i < j <= k < arr.length) 。a 和 b 定义如下: a = arr[i] ^ arr[i + 1] ^ ... ^ arr[j - 1] b = arr[j] ^ arr[j 阅读全文
posted @ 2021-05-18 17:21 没有你哪有我 阅读(94) 评论(0) 推荐(0) 编辑
摘要:题目描述 给你一个整数数组 perm ,它是前 n 个正整数的排列,且 n 是个 奇数 。它被加密成另一个长度为 n - 1 的整数数组 encoded ,满足 encoded[i] = perm[i] XOR perm[i + 1] 。比方说,如果 perm = [1,3,2] ,那么 encod 阅读全文
posted @ 2021-05-12 10:56 没有你哪有我 阅读(165) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示