2016 网易校招内推C/C++第二场8.6
选择题20个,每个1.5,编程题3个,每个20,简答题1个10分。
解:
第二题,一开始喵了一眼,好开心,这不是水题么,第一反应想到的是递归,然后马上就写了,结果case10%,一脸蒙蔽,数据值很大,考虑边界条件也比较困难。
递归:
1 #include "iostream" 2 #define MAX 100000 3 #define tag 1000000007 4 5 typedef long long LL; 6 7 using namespace std; 8 9 LL x; 10 int n = 1; 11 12 LL solve(LL x, int n) 13 { 14 if (n > MAX) 15 return -1; 16 if ((4 * x + 3) % tag == 0 || ((8 * x + 7) % tag == 0)) 17 return n; 18 else 19 { 20 solve(4 * x + 3, n + 1); 21 solve(8 * x + 7, n + 1); 22 } 23 return 0; 24 } 25 26 int main() 27 { 28 29 cin >> x; 30 cout << solve(x, 1); 31 32 }
结束后和学弟讨论了下,学弟教我可以反向打表,时间换空间,把符合条件的位置都算出来,然后检索输入的在不再里面。然后我试着写了下,用STL的map,映射i次数和位置num。QWQ又学到了一招。满满的套路。
反向打表,map映射:
1 #include "iostream" 2 #include "map" 3 #define MAX 100000 4 #define tag 1000000007 5 6 typedef long long LL; 7 8 using namespace std; 9 10 LL x; 11 int n = 1; 12 13 map<int,int> a,b; 14 15 //125000000 16 void fun() 17 { 18 for (int i = 1; i < MAX; i++) 19 { 20 for (int num = tag*i,j=1; ;j++ ) 21 { 22 a.insert(pair<int,int>(num,j*i-1 )); 23 if ((num - 7) % 8 == 0) 24 num = (num - 7) / 8; 25 else 26 break; 27 } 28 29 for (int num = tag*i, j = 1; ; j++) 30 { 31 b.insert(pair<int, int>(num, j*i)); 32 if ((num - 3) % 4 == 0) 33 num = (num - 3) / 4; 34 else 35 break; 36 } 37 } 38 } 39 40 41 int main() 42 { 43 cin >> x; 44 45 fun(); 46 47 map<int, int>::iterator iter; 48 iter=a.find(x); 49 if (iter != a.end()) 50 cout << iter->second; 51 52 iter = b.find(x); 53 if (iter != b.end()) 54 cout << iter->second; 55 }
真是尴尬我还不会Map里面怎么find value的值,只能把key和value的位置换了下。
转载于:https://www.cnblogs.com/SeekHit/p/5745987.html
2016 网易校招内推C/C++第二场8.6相关推荐
- 2019网易校招内推笔试题--苹果属于哪一堆
题目描述 又到了丰收的季节,恰好小易去牛牛的果园里游玩. 牛牛常说他多整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛. 在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第 ...
- 2018年网易校招内推编程题之交错01串
如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串.例如: "1","10101","0101010"都是交错 ...
- 阿里巴巴校招内推简历筛选方案(总结篇) 及面经
阿里巴巴校招内推简历筛选方案(总结篇) https://yq.aliyun.com/topic/16?utm_content=m_3988 https://yq.aliyun.com/articles ...
- 网易互联网,网易互娱 2021届校招内推开始啦
网易互联网,网易互娱 2021届校招内推均已开启,早投递早面试,欢迎各位加入网易的大家庭 雷火 互娱 互联网是分开招聘的 互不冲突 机会也更大 冲呀- 查进度可以通过私人邮箱:caikeren@cor ...
- 后端/Java/大数据/C++ 校招内推面经
点击上方"小强的进阶之路",选择"星标"公众号 最高效的求职秘籍就是刷面经和内推! 预计阅读时间: 13分钟 [后端开发]后端开发面经总结 https://ww ...
- 2022春招字节跳动校招内推码: UX8B35W
2022春招字节跳动校招内推码: UX8B35W 春招内推链接https://jobs.toutiao.com/s/L3NseVC 社招内推链接 https://job.toutiao.com/s ...
- 字节跳动校招内推开始了
字节跳动校招内推码: V55QMV9 投递链接: https://jobs.toutiao.com/s/j2U1r2s
- 安谋中国(Arm China)校招内推
#内推# #校招# #秋招# #安谋科技# #Arm China# Arm China (安谋科技) 2023届校招内推 安谋科技是中国最大的芯片设计IP开发和服务供应商,立足本土创新,是Arm在中国 ...
- 2018年科大讯飞校招内推提前批面试总结
感想 今天HR打电话过来说我已经通过了校招内推了,个人感觉不怎么难,面试官也不为难你,我记得当时有个问题没有答出来,问的问题也相对来说比较common,没有感觉比较怪的题目.我这里把面试的题目发出来, ...
- 【在线笔试题解题报告系列】网易2017校招内推笔试之编程题【持续更新】
网易今年把内推笔试放在牛客网上办,然后出了一批编程题. 题目在: http://www.nowcoder.com/test/2252286/summary http://www.nowcoder.co ...
最新文章
- 汇编语言对显存直接输出字符串
- 数据结构: 线索化二叉树
- Mips KVM TrapEmulate implemented in Linux
- 如何用python自动改试卷_利用Python和Jinja2自动生成试卷
- matlab生成HEX文件-任意信号 大于64K长度
- windows c语言 redis,windows上使用VS2012 C++语言调用Redis的解决方案
- 高质高效软件开发组织能力模型
- [实战]前端wireshark抓包协议解密
- oracle的服務監聽器,Oracle监听器和服务名的配置
- margin系列之负值
- python 天气预报 mysql_python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库...
- mysql主从复制简单实现
- 抖音短视频内容理解和推荐算法
- java布尔三目运算符_Java关系运算符,boolean运算符,三元运算符
- Java基础篇:介绍嵌套类和内部类
- luac 格式分析与反编译
- 深刻理解原型图设计的核心
- ArcGIS 10.6 安装教程
- 小程序携带参数跳转的方式wx.navigateTo的URL和通过data-传递
- Spring Security Oauth2 令牌增加额外信息
热门文章
- java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.setId
- apache 网页301重定向、自定义400/403/404/500错误页面
- 鼠标点击TextBox控件后清空默认字体
- Verilog 初学笔记--顺序操作 和 并行操作的一点思考(参考黑金教程:Verilog HDL那些事 建模篇)...
- Linux安装配置 VNC Server
- java 堆有多少个_Java堆内存的十个要点
- python查看服务器日志_python读取服务器日志的方法
- 设计模式--策略模式(C++实现)
- c语言 graph,基于图(graph)的应用举例
- BlockingQueue使用详解以及测试代码