位运算
算法-位运算
难过的风景
君子慎独 不欺暗室
展开
-
LeetCode.1738 找出第 K 大的异或坐标值
原题 https://leetcode-cn.com/problems/find-kth-largest-xor-coordinate-value/ 思路 前缀和,再排序 这里的前缀和需要稍微变换一下盗了大佬两张图 题解 class Solution { public int kthLargestValue(int[][] matrix, int k) { int row = matrix.length; int col = matrix[0].length;原创 2021-05-20 12:15:40 · 98 阅读 · 2 评论 -
LeetCode.1442 形成两个异或相等数组的三元组数目
原题 https://leetcode-cn.com/problems/count-triplets-that-can-form-two-arrays-of-equal-xor/ 思路 首先想到异或前缀和 然后最重要的就是异或公式推导 a=Si⊕Sja = S_i ⊕ S_ja=Si⊕Sj b=Sj⊕Sk+1b = S_j ⊕ S_{k+1}b=Sj⊕Sk+1 a=ba = ba=b Si⊕Sj=Sj⊕Sk+1S_i ⊕ S_j = S_j ⊕ S_{k+1}Si⊕Sj=Sj⊕Sk+1原创 2021-05-20 12:08:24 · 140 阅读 · 0 评论 -
LeetCode.1310 子数组异或查询
原题 https://leetcode-cn.com/problems/xor-queries-of-a-subarray/ 思路 1. 最直接的办法,暴力求解 2. 前缀和,经过前几天的每日一题,都是异或运算,已经掌握了其特征 异或的特点:相同的为0,不同的为1 题解 class Solution { // 暴力求解 public int[] xorQueries(int[] arr, int[][] queries) { int len = queries.length;原创 2021-05-13 21:35:55 · 80 阅读 · 0 评论 -
LeetCode.137 只出现一次的数字 II
原题 https://leetcode-cn.com/problems/single-number-ii/ 思路 1. 常规思路 hash,不做过多的描述 2. 应该能想到使用位运算 先贴一张大致思路图 2.1 对于nums中每个数字的每一位单独进行计算,累加得到count 2.2 对于count进行%3的操作,其结果一定为0或者1,0或者1其实就是当前位的值 2.3 对于所有位进行计算完毕,每个位的结果拼接到一起,得到的就是需要的结果只出现了一次的元素 题解 package cn.codemao原创 2021-04-30 14:25:18 · 101 阅读 · 0 评论