位运算
文章平均质量分 82
wyg1997
恰如猛虎卧荒丘,潜伏爪牙忍受。
展开
-
【Leetcode】26.只出现一次的数字III(位运算)
题目链接点击打开链接题目描述题解两个位运算异或:两个相同的数异或结果为0;0和任意值异或结果为那个数。x&(-x):结果为x的二进制位的最后一位。举个例子(第一位为符号位):10 -> (0 00000…000 1010)b-10 -> (1 11111…111 0110)b负数的二进制变换方式是:1. 按位取反。 2. 末位加1。这时两个数进行...原创 2020-04-15 11:53:15 · 481 阅读 · 0 评论 -
【Leetcode】137.只出现一次的数字(逻辑运算推导)
题目链接点击打开链接题目描述解题思路首先我们分析一下题意,一个数组中只有一个数出现了1次,其余的数都出现了3次。并且要求O(n)O(n)O(n)的时间复杂度和O(1)O(1)O(1)的空间复杂度。也就是不能用线性表、HashSet、HashMap这些数据结构了。解法一这题还是从二进制位来考虑,分以下2种情况:如果这个二进制位出现了3n次1(3次、6次、9次等),那么就说明结果在这...原创 2020-03-06 11:55:44 · 425 阅读 · 1 评论 -
【zzuliOJ】1922 - 棋子问题(bfs & 位运算)
点击打开题目1922: 棋子问题Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 59 Solved: 10SubmitStatusWeb BoardDescription给定一个4*4的01棋盘,1代表棋子,0代表空格,棋子1每次可以移动到相邻上下左右四个位置的空格。然后再给定你目标棋盘,问你最少在原创 2016-08-18 12:10:19 · 552 阅读 · 0 评论 -
【zzuliOJ】1921 - 晴天的序列(dp)
点击打开题目1921: 晴天的序列Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 216 Solved: 17SubmitStatusWeb BoardDescription给定一个长度为n的数字序列a,从中选取一个长为m的子序列b满足 b[i]&b[i-1]!=0 (2求最大的m。Inpu原创 2016-08-18 10:34:11 · 396 阅读 · 0 评论 -
【HDU】5747 - Aaronson(位运算 & 贪心)
点击打开题目AaronsonTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 723 Accepted Submission(s): 400Problem DescriptionRec原创 2016-08-05 15:54:43 · 448 阅读 · 0 评论 -
【zzuliOJ】1893 - 985的数学难题(位运算)
点击打开题目1893: 985的数学难题Time Limit: 2 Sec Memory Limit: 128 MBSubmit: 85 Solved: 13SubmitStatusWeb BoardDescription985有n个正整数,他想快速知道下面函数的返回值int a[N+1];long long Solve() {原创 2016-08-03 19:48:30 · 552 阅读 · 0 评论 -
【HDU】3279 - Fliptile(bfs & 二进制)
点击打开题目FliptileTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 7440 Accepted: 2797DescriptionFarmer John knows that an intellectually satisfied原创 2016-07-30 10:09:29 · 402 阅读 · 0 评论 -
【周练2016.3.7】B - Lucky Numbers(位运算,水)
B - Lucky NumbersTime Limit:500MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uDescription The numbers of all offices in the new building of the Tax Office of IT City will have lucky原创 2016-03-07 17:14:17 · 661 阅读 · 0 评论 -
【哈工大oj】1037 - 组合数末尾的零(位运算,好题)
组合数末尾的零Time Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 326(169 users)Total Accepted: 207(146 users)Rating: Special Judge: NoDescription从原创 2016-01-15 14:48:50 · 994 阅读 · 0 评论 -
【杭电oj】1196 - Lowest Bit(位运算)
Lowest BitTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10324 Accepted Submission(s): 7564Problem DescriptionGiven an posit原创 2016-01-08 21:06:06 · 428 阅读 · 0 评论 -
多少个1?(位运算)
此题用位运算比较节省时间,代码如下:#include int main(){ int n, cnt; cnt = 0; scanf("%d", &n); while (n) { cnt += (n & 1); n >>= 1; } printf("%d\n", cnt);}转载 2015-12-11 23:52:38 · 777 阅读 · 0 评论