牛客《今日头条》笔试题
最后一题 或与加
如果x+y=x|y 表示x y满足或与加
要求,输入两个数x,k,输出 第k小的y;
示例 输入 5 1
输出2,由于 5+1!=5|1 ,因此第一小的数为2
分析:显然满足x+y=x|y的数,有部分0 1互补的特点,也就是只有在x(y)为0的比特位置,y(x)才能为1,不然相加是必然产生进位。因此(x&y==0)成立
第k小,其实就是在x为0的位置进行二进制计数,
比如100100011,第一小的数 100100111
第二小的数相加后的结果100101011
第三小的数相加后的结果100101111
。
。
。
第八小的数相加后的结果111100011
因此第k小数y,也就是100101111^100100011了。
代码
#include <iostream>
#include <vector>
using namespace std;
int main(){unsigned long long x, k, y;vector<unsigned long long> pos1;unsigned long long ans = 0;while (cin >> x >> k)unsigned long long *aa = &x;{pos1.clear();for (unsigned long long i = 0; i < 64; i++){if ((x&1) == 0){pos1.push_back(i);}x >>= 1;}ans = 0;unsigned long long ind = 0;while (k){unsigned long long a = pos1[ind++];unsigned long long b = k & 1;k >>= 1;ans = ans | (b << a);}cout << (ans) << endl;}
}
有大神写的更简洁些
while (x){long long low = (tmp - 1)&k;long long high = k - low;if (x & 1){high <<= 1;}k = high + low;tmp <<= 1;x >>= 1;}cout << k << endl;
牛客《今日头条》笔试题相关推荐
- 华为牛客网在线笔试题之是否是回文串
最近投了个华为的简历,然后收到了牛客网的在线笔试,题目有三道,第一道是给定一串字符,找出其中最长的回文串,并返回其长度. 我用C++实现的,思路是遍历字符串的每一个字符,然后设置初始值为1的偏移量,如 ...
- 原创 牛客网产品笔试题刷题打卡——需求分析/数据分析/文档攥写
ARPU(ARPU-AverageRevenuePerUser)即每用户平均收入.用于衡量电信运营商和互联网公司业务收入的指标.ARPU注重的是一个时间段内运营商从每个用户所得到的收入.很明显,高端的 ...
- 20180415字节跳动今日头条笔试题——后台研发方向
[编码题|20分] 找周期 时间限制:C/C++ 5秒,其他语言 10秒 空间限制:C/C++ 65536K,其他语言 131072K . 题目描述 . 对于严格递增的正整数数列A=a1.a2.--. ...
- 原创 牛客网产品笔试题刷题打卡——用户研究
QQ和微信的区别. 1.产品定位 QQ:"每一天,乐在沟通",是一款基于互联网的社交通讯软件.QQ是PC互联网的产物,侧重社交,更娱乐化. 微信:"一个生活方式" ...
- 【牛客网-前端笔试题】——Javascript专项练习
- 今日头条笔试题(一)
车厢排序 一列火车有n个车厢标记为1,2,3,4,5,6-n 现在因为某些原因,需要调整车厢的相对顺序 例如需要将车厢顺序调整为2,3,1,4,5,6-n 由于车厢庞大,且车厢只能停留在铁轨上,所以不 ...
- 【牛客网-前端笔试题】——Javascript专项练习6
- 【牛客网-前端笔试题】——Javascript专项练习7
- 牛客网产品笔试题刷题打卡——产品规划
- 牛客网产品笔试题刷题打卡——需求分析
互联网思维: 1. 用户思维:指在价值链各个环节中都要"以用户为中心"去考虑问题.(最重要) 2. 简约思维:指在产品规划和品牌定位上,力求专注.简单:在产品设计上,力求简洁.简约 ...
最新文章
- linux进程间通信:POSIX 共享内存
- SpringMVC上传文件
- struts2.0简单页面 (不带拦截器和带拦截器案例)
- mysql数据库的逻辑架构和存储引擎
- 【C++ grammar】对象和类(创建对象、对象拷贝、分离声明与实现)
- 【EOJ Monthly 2019.02 - D】进制转换(思维,取模,高精度大数)
- RocketMQ(一)——发展历程及基本概念
- 主从切换_Mysql 复制如何进行主从库切换(计划内)
- 二、Linux系统目录和文件基本操作
- c语言的八进制规定要以0开始,2016年9月计算机二级《C语言》上机试题及答案
- 三星电子通信撤出中国!
- 绿色自适应网址发布页html源码
- 理解 BLS 签名算法
- 一言不合就被“游戏毁掉”?!管管孩子,救救游戏吧!
- 阿里云服务器出现 Resource stopwords not found. Please use the NLTK Downloader to obtain the resource:
- Hyper-V 配置静态 IP
- Spring Cloud Ribbon 全解 (1) - 总览篇
- Word文档快速翻译的方法,一分钟学会
- js实现彩票机选效果
- DFS(深度优先搜索算法)入门