一道位运算技巧题
来源:互联网 发布:姓氏头像制作软件 编辑:程序博客网 时间:2024/05/25 05:36
今天Mayuyu遇到一个非常有意思的题目,描述如下
题目:有一堆数,若干个数出现了3次,只有一个数出现了1次,找出只出现1次的那个数。
分析:把这个问题进行推广,得到如下描述
有一堆数,除了一个元素出现次外,其它每个数都出现了次,现在需要找出出现次的这个数。
代码:
#include <bits/stdc++.h>using namespace std;const int N = 10005;int a[N];int singleNumber(int a[], int n, int p, int q){int *x = new int[p];x[0] = ~0;for(int i = 0; i < n; i++){int t = x[p - 1];for(int j = p - 1; j > 0; j--)x[j] = (x[j - 1] & a[i]) | (x[j] & ~a[i]);x[0] = (t & a[i]) | (x[0] & ~a[i]);}return x[q];}int main(){int n, p, q;while(cin >> n){for(int i = 0; i < n; i++)cin >> a[i];cin >> p >> q;int ans = singleNumber(a, n, p, q);cout << ans << endl;}return 0;}
0 0
- 一道位运算技巧题
- 关于位运算的一道笔试题
- 一道位运算的算法题
- 一道位运算的算法题
- 一道算法题,(位运算)
- 位运算的技巧题
- 关于位运算的一道试题校招笔试题
- 今天遇到的涉及位运算的一道题
- 位运算应用技巧
- 位运算应用技巧
- 位运算的技巧
- 位运算(技巧)
- 位运算各种技巧
- 位运算应用技巧
- 位运算常用技巧
- 位运算 技巧
- 位运算技巧
- 各种位运算技巧
- HDU 2619 - Love you Ten thousand years (数论)
- 车牌号
- iOS开发 UI Button基础
- QT SQLite 多数据库操作大全
- Tree Cutting (树形DP)
- 一道位运算技巧题
- SDUT 2886 - Weighted Median (思维)
- UITableView编程2:相关的两个协议各函数介绍
- ArcGIS Engine中空间参照(地理坐标)相关方法总结
- 筛选法--快速求素数
- 数据结构队列及栈的实现
- winform新手使用Timer计时器让窗口自动跳转(在几秒后自动关闭)
- No.1 程序生涯从这里起步
- Android 一: basic grammar