力扣
文章平均质量分 51
插衣袖里
这个作者很懒,什么都没留下…
展开
-
前缀和与差分数组
当我们需要更新区间[l,r]时候(仅指加减运算),我们仅仅可以只更新d[l]+=x,d[r+1]-=x;原创 2024-04-10 10:33:05 · 373 阅读 · 0 评论 -
206.只出现一次的数字|||(位运算)
题目描述与解析:这道题对我来说很难,根本就没有思路。所以我就仔细看了大佬发的题解,害怕以后忘记就写了这一篇博客,算是做的笔记吧。位运算第一步:先将所有的数异或(相同为0,不同为1,满足交换律),因为只有两个元素只出现一次,其余均出现两次。那么出现两次的数异或后就变成了0,最后就剩两个不同的数异或第二步:观察发现,异或后的第一次出现1的位置,在只相同一次的两个数中,在这位置不是0就是1.只要这个二进制位的1,别问为什么,我不知道(多观察)。原创 2023-04-18 01:44:12 · 86 阅读 · 1 评论 -
137. 只出现一次的数字 II(位运算)
所以我们可以用一个数组储存各个二进制位出现1的个数,求余就好了。结论:可以发现三次出现的数,各个二进制位相加将是3的倍数。各二进制为中1的个数原创 2023-04-16 10:31:09 · 84 阅读 · 0 评论 -
136. 只出现一次的数字(位运算)
本题采用异或运算 ⊕。他是一种二进制的位运算。自反性: A ^ B ^ B = A (由结合律可推: A ^ B ^ B = A ^ ( B ^ B ) = A ^ 0 = A)可得:任何二进制数与零异或,都会等于其本身,即 A ^ 0 = A。结合律: ( A ^ B ) ^ C = A ^ ( B ^ C )相同为0,不同为1。交换律: A ^ B = B ^ A。原创 2023-04-16 01:20:00 · 76 阅读 · 1 评论