关于网易2018实习生招聘的“道路布灯”问题
昨天参加了网易在线评测,总体感觉还是比较刺激的,这算是笔者的第一次在线笔试吧,然后总体的感觉就是自己的知识还是太不足了,需要大量的积累才能“厚积薄发”,算了,废话不多说,直接上我遇到的这个“道路布灯”问题。
一条道路上有n格格子,每一个格子上都是一块区域,其中对于每一块格子,用x表示是亮着,不需要使用路灯,而对于.表示的是黑暗的,需要使用路灯将其照明,而对于布置在pos位置上的路灯,能够照亮pos - 1 和pos + 1 这个范围内的距离,给定一条道路上的情况,试给出最少的布灯数量。例,输入xxx.x.xx...x.x.输出应当为 一个整数 3
老实说,刚开始拿到题目的时候。是一脸懵逼的,真的是一点思路都没有,然后紧紧的想了那么几分钟,看到时间也不够了,就索性放弃了。后来完事儿之后,再次拿起这个题目,思路就来了。。。怪事儿。。。
说说我的思路吧,我的想法是因为道路的情况相当于是一个输入的string类型,而这个string类型,我们就是需要寻找一个最小的灯的数量,然后将整条道路照明,而每个路灯的照明范围是3,因此我的想法是,我弄一个宽度为3的窗口,然后在这条道路上滑动窗口,为了使得路灯最小,
那么我可以对窗口的最左端的那个元素进行判断——
- 如果它已经不需要照亮,那么我们直接将窗口向右移动一格,
- 如果需要照亮,因为一盏灯的能够照明3格,所以直接将窗口向右移动3格。
那么依照,这个思路,我开始写代码:
#include <iostream>
#include <string>using namespace std;int main(int argc, char const *argv[])
{string inputStr;int count = 0;cin >> inputStr;for (int pos = 0; pos < inputStr.size(); ){// 如果三个中的最左边的那个不可点亮,那么就直接右移一格if (inputStr[pos] == 'x'){++ pos;}// 剩下的采用类似滑动窗口的思想进行代码的书写else if (inputStr[pos] == '.'){// cout << pos << endl;pos += 3;++ count;}}cout << count << endl;return 0;
}
运行结果如下:
xx...x..x... 3 ....x.x.x.x. 4
关于网易2018实习生招聘的“道路布灯”问题相关推荐
- 网易2018实习生招聘笔试题-JAVA开发实习生
网易2018实习生招聘笔试题-JAVA开发实习生 如何从有数字规律的网址抓取网页并保存在当前目录?假设网址为 http://test/0.xml,其中这个数字可以递增到100. for(int i=0 ...
- 数据分析真题日刷 | 网易2018实习生招聘笔试题-数据分析实习生
上周开始实习,博客更新就缓下来了.这是十天前做的套题了,现在拾起来把它再整理整理. 网易数据分析实习生的笔试题,和校招的题目还是有部分重复的,不过难度也不小. 今日真题 网易2018实习生招聘笔试题- ...
- 【牛客】网易2018实习生招聘笔试题——数据分析师实习生解析
[牛客]网易2018实习生招聘笔试题--数据分析师实习生解析 * 选择题根据牛客网下方讨论整理,三道大题均为自己答案,欢迎大家讨论并给予指正. (https://www.nowcoder.com/te ...
- 网易2018实习生招聘笔试题的收获
1.在二叉树的遍历是出错(时间久了忘记的差不多) 顺便复习一下3种遍历: 先序遍历:遍历规则(中左右) 中序遍历:遍历规则(左中右) 后序遍历:遍历规则(左右中) 先序:ABCDEFGHK 中序:BC ...
- 数据分析题:网易2018实习生招聘笔试题
来源:牛客 题型:单选20道,问答3道 牛客网评估难度系数:4颗星 1.有2堆宝石,A和B一起玩游戏,假设俩人足够聪明,规则是每个人只能从一堆选走1个或2个或3个宝石,最后全部取玩的人获胜,假设2堆宝 ...
- 网易2018实习生招聘笔试题
可能题目的顺序不一样,但是题目应该是一样的. 1.一条街有n个位置,每个位置需要照亮的话用 . 表示,不需要照亮的话用 X 表示,每盏路灯能照亮,i - 1, i , i + 1三个位置,问最少用多少 ...
- 【网易】网易2018实习生招聘笔试题-测试开发实习生
编程题 被三整除 问题描述: 小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011.... 并且小Q对于能否被3整除这个性质很感兴趣. 小Q现在希望 ...
- 网易2018实习生招聘笔试题-C++开发实习生解答
答案 3 3 这里要特别注意,printf编译的时候从右向左 初始化列表的执行顺序是变量的声明顺序 64位指针8个字节,考察内存对齐 考察数组以及数组退化位指针 完全二叉树,叶子结点数n/2向上取整 ...
- 网易2018实习生招聘笔试题-ios开发实习生(13道)
1.若对如下无向图进行遍历,则下列序列中,不是广度优先遍历序列的是() 广度优先搜索其实就是从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的 ...
最新文章
- android Android build.gradle 配置注释
- 修改mysql的root密码
- 有关线程的相关知识(上)
- 杀死linux-zombie僵尸进程
- jupter中没有显示conda中的环境
- MySQL笔记-唯一键的使用
- 光伏“转化效率之王”IBC电池有多牛?
- HTML与XHTML区别
- MenuItem 对象
- SQL NOW() 函数
- 《Neural Architectures for Nested NER through Linearization》
- springbooot学习记录
- dos界面操作mysql讲解
- 无线射频专题《射频信号,射频的传输行为,吸收,放射,散射,折射,衍射,损耗,增益,多径现象》
- 蓝桥杯单片机之PCF8591模块的使用
- CreateJS 制作 H5 长图动画
- SMP与AMP体系结构
- 行业洞察 | Web3、AI4Science、机器人,热门赛道全解析...AI商业化受阻,拐点在何方?...
- 华硕服务器系统安装win7系统教程,华硕光盘重装系统win7图文教程
- 自编程实现决策树(使用ID3算法)
热门文章
- JS Event Propagation (bubbling and capture)
- 引导区坏 计算机无法启动,小白告诉你Win10无法正常启动修复引导文件教程
- 机械电子工程和计算机联系应用,论机械电子技术与计算机的融合发展
- 命令行对文件批量改名
- mars3d中时间的转换
- Mac下安装Mavenidea配置maven
- 修改服务端监听器端口号为1526
- hdu 5755 Gambler Bo 三进制高斯消元(开关问题变形)
- 笔记本计算机回收站在哪里,电脑回收站不见了怎么办 四种方法教你快速解决问题【图文教程】...
- 解决:Word在试图打开文件时遇到错误。请尝试下列方法……