昨天参加了网易在线评测,总体感觉还是比较刺激的,这算是笔者的第一次在线笔试吧,然后总体的感觉就是自己的知识还是太不足了,需要大量的积累才能“厚积薄发”,算了,废话不多说,直接上我遇到的这个“道路布灯”问题。

一条道路上有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实习生招聘的“道路布灯”问题相关推荐

  1. 网易2018实习生招聘笔试题-JAVA开发实习生

    网易2018实习生招聘笔试题-JAVA开发实习生 如何从有数字规律的网址抓取网页并保存在当前目录?假设网址为 http://test/0.xml,其中这个数字可以递增到100. for(int i=0 ...

  2. 数据分析真题日刷 | 网易2018实习生招聘笔试题-数据分析实习生

    上周开始实习,博客更新就缓下来了.这是十天前做的套题了,现在拾起来把它再整理整理. 网易数据分析实习生的笔试题,和校招的题目还是有部分重复的,不过难度也不小. 今日真题 网易2018实习生招聘笔试题- ...

  3. 【牛客】网易2018实习生招聘笔试题——数据分析师实习生解析

    [牛客]网易2018实习生招聘笔试题--数据分析师实习生解析 * 选择题根据牛客网下方讨论整理,三道大题均为自己答案,欢迎大家讨论并给予指正. (https://www.nowcoder.com/te ...

  4. 网易2018实习生招聘笔试题的收获

    1.在二叉树的遍历是出错(时间久了忘记的差不多) 顺便复习一下3种遍历: 先序遍历:遍历规则(中左右) 中序遍历:遍历规则(左中右) 后序遍历:遍历规则(左右中) 先序:ABCDEFGHK 中序:BC ...

  5. 数据分析题:网易2018实习生招聘笔试题

    来源:牛客 题型:单选20道,问答3道 牛客网评估难度系数:4颗星 1.有2堆宝石,A和B一起玩游戏,假设俩人足够聪明,规则是每个人只能从一堆选走1个或2个或3个宝石,最后全部取玩的人获胜,假设2堆宝 ...

  6. 网易2018实习生招聘笔试题

    可能题目的顺序不一样,但是题目应该是一样的. 1.一条街有n个位置,每个位置需要照亮的话用 . 表示,不需要照亮的话用 X 表示,每盏路灯能照亮,i - 1, i , i + 1三个位置,问最少用多少 ...

  7. 【网易】网易2018实习生招聘笔试题-测试开发实习生

    编程题 被三整除 问题描述: 小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011.... 并且小Q对于能否被3整除这个性质很感兴趣. 小Q现在希望 ...

  8. 网易2018实习生招聘笔试题-C++开发实习生解答

    答案 3 3 这里要特别注意,printf编译的时候从右向左 初始化列表的执行顺序是变量的声明顺序 64位指针8个字节,考察内存对齐 考察数组以及数组退化位指针 完全二叉树,叶子结点数n/2向上取整 ...

  9. 网易2018实习生招聘笔试题-ios开发实习生(13道)

    1.若对如下无向图进行遍历,则下列序列中,不是广度优先遍历序列的是() 广度优先搜索其实就是从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的 ...

最新文章

  1. android Android build.gradle 配置注释
  2. 修改mysql的root密码
  3. 有关线程的相关知识(上)
  4. 杀死linux-zombie僵尸进程
  5. jupter中没有显示conda中的环境
  6. MySQL笔记-唯一键的使用
  7. 光伏“转化效率之王”IBC电池有多牛?
  8. HTML与XHTML区别
  9. MenuItem 对象
  10. SQL NOW() 函数
  11. 《Neural Architectures for Nested NER through Linearization》
  12. springbooot学习记录
  13. dos界面操作mysql讲解
  14. 无线射频专题《射频信号,射频的传输行为,吸收,放射,散射,折射,衍射,损耗,增益,多径现象》
  15. 蓝桥杯单片机之PCF8591模块的使用
  16. CreateJS 制作 H5 长图动画
  17. SMP与AMP体系结构
  18. 行业洞察 | Web3、AI4Science、机器人,热门赛道全解析...AI商业化受阻,拐点在何方?...
  19. 华硕服务器系统安装win7系统教程,华硕光盘重装系统win7图文教程
  20. 自编程实现决策树(使用ID3算法)

热门文章

  1. JS Event Propagation (bubbling and capture)
  2. 引导区坏 计算机无法启动,小白告诉你Win10无法正常启动修复引导文件教程
  3. 机械电子工程和计算机联系应用,论机械电子技术与计算机的融合发展
  4. 命令行对文件批量改名
  5. mars3d中时间的转换
  6. Mac下安装Mavenidea配置maven
  7. 修改服务端监听器端口号为1526
  8. hdu 5755 Gambler Bo 三进制高斯消元(开关问题变形)
  9. 笔记本计算机回收站在哪里,电脑回收站不见了怎么办 四种方法教你快速解决问题【图文教程】...
  10. 解决:Word在试图打开文件时遇到错误。请尝试下列方法……