字节跳动---万万没想到之聪明的编辑
字节跳动—万万没想到之聪明的编辑
文章目录
- 字节跳动---万万没想到之聪明的编辑
- 一、题目描述
- 二、分析
- 三、代码
一、题目描述
我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:
三个同样的字母连在一起
,一定是拼写错误,去掉一个
的就好啦:比如 helllo -> hello两对一样的字母(AABB型)连在一起
,一定是拼写错误,去掉第二对的一个字母
就好啦:比如 helloo -> hello- 上面的规则
优先“从左到右”匹配
,即如果是AABBCC,虽然AABB和BBCC都是错误拼写,应该优先考虑修复AABB,结果为AABCC
我特喵是个天才!我在蓝翔学过挖掘机和程序设计,按照这个原理写了一个自动校对器,工作效率从此起飞。用不了多久,我就会出任CEO,当上董事长,迎娶白富美,走上人生巅峰,想想都有点小激动呢!
……
万万没想到,我被开除了,临走时老板对我说: “做人做事要兢兢业业、勤勤恳恳、本本分分,人要是行,干一行行一行。一行行行行行;要是不行,干一行不行一行,一行不行行行不行。” 我现在整个人红红火火恍恍惚惚的……
请听题:请实现大锤的自动校对程序
输入描述:
第一行包括一个数字N,表示本次用例包括多少个待校验的字符串。后面跟随N行,每行为一个待校验的字符串。
输出描述:
N行,每行包括一个被修复后的字符串。
输入例子1:
2
helloo
wooooooow
二、分析
方法一:自动机
可以通过动态规划之KMP字符匹配算法来了解自动机的原理
对于本题也可以使用自动机的思想(以AB字符模拟):
1.当第一次进入状态机的字母是A时,就处于0状态,继续判断下一个字符
2.当第二次输入的字符不是A时,目前构成AX这种情况,不属于题意中的任意一个情况,状态不变,继续判断
3.当第二次输入的字符还是A时,目前就构成AA这种情况,可能出现AAA,所以就进入1状态。
4.当处于1状态时,第三次输入的字符如果不是A,目前构成AAB,可能会出现AABB型,所以需要判断,进入2状态
5.当处于1状态时,第三次输入的字符如果是A,目前构成AAA,满足提议当中不能出现来连续3个同样的字符的情况,就需要删除一个,所以我们就忽略这个字符(就当没看见)
6.如果当前处于2状态,第4次输入的字符如果还是B,那么就构成AABB型,属于题意中的情况,需要删除一个B,所以我们仍然忽略这个字符(就当没看见)
7.如果当前处于2状态,第4次输入的字符如果不是B,那么就构成AABX型,不属于题意中的任意一个情况,状态变为0,继续判断
总结:0状态是用来处理不是AAA型或者AABB型的情况;1状态是用来解决AAA型的情况(忽略不加入结果集);2状态是用来解决AABB型的情况(忽略不加入结果集)
方法二:暴力求解
直接一趟遍历,把AAA的情况删除一个A,AABB的情况删除一个B,注意边界问题
三、代码
方法一:自动机模拟前后4个字符的情况
#include<iostream>
#include<string>
using namespace std;int main()
{int n;cin >> n;while (n--) {int state = 0;//代表状态机
字节跳动---万万没想到之聪明的编辑相关推荐
- 字节跳动---万万没想到之抓捕孔连顺
字节跳动-万万没想到之抓捕孔连顺 文章目录 字节跳动---万万没想到之抓捕孔连顺 一.题目描述 二.分析 三.代码 一.题目描述 我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐 ...
- 2019 字节跳动双指针字符串题目 万万没想到之聪明的编辑
时间限制:1秒 空间限制:32768K 我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现 ...
- 【字节跳动笔试题】万万没想到之聪明的编辑
我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼写错误的捷径: 1. 三个同样 ...
- 2019牛客网校招真题(1星)---万万没想到之聪明的编辑
文章目录 题目描述 题目描述 我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼 ...
- 字节跳动2019春招研发机试题 万万没想到之聪明的编辑
我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼写错误的捷径:..... // ...
- 【字节2019春招】万万没有想到之聪明的编辑
题目: 我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼写错误的捷径:1. 三 ...
- 字节跳动笔试题02万万没想到之抓捕孔连顺
我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议 我们在字节跳动大街的N个建筑中选定3个埋伏地点. 为了相互照应,我们决定相距 ...
- 牛客网-数据结构笔试题目(二)-万万没想到之抓捕孔连顺思路解析(附源码)
题意 我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议 我们在字节跳动大街的N个建筑中选定3个埋伏地点. 为了相互照应,我们决 ...
- 万万没想到之抓捕孔连顺
万万没想到之抓捕孔连顺 题目描述 我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议 我们在字节跳动大街的N个建筑中选定3个埋伏 ...
最新文章
- 一个NullPointerException,竟然有这么多花样!
- 必须掌握的10大Python库
- DPDK — 安装部署(Ubuntu 18.04)
- hashMap和hashTable的区别(个人总结)
- stm32F1和stm32F4的区别
- c语言找出公共子字符串,经典C语言面试题:求解最大公共子串
- oracle grid安装看不到config,【图片】【rac11g安装问题】出了问题特来请教各位大侠【oracle吧】_百度贴吧...
- nginx 过滤post报文 防火墙_十八般武艺之Nginx踩坑总结
- qt改变tab形状_生命吗哪QT灵修 11月18日
- C 语言日期时间处理
- 教你在win10系统开启和使用语音识别
- 《京东大鼓——老年迪斯科》(董湘昆)(唱词文本)
- 19款国产手机无一幸免:15分钟破解人脸识别,打印眼镜让刷脸形同虚设
- java随机生成6位流水号,Java生成随机流水号
- 服务器接千兆无线网卡,用户吓跑!千兆宽带就是坑爹货:真相崩溃
- LimeSDR环境的安装
- Spring Cloud OAuth2 认证流程
- 学考计算机上sci怎么消,已接收的SCI稿件,想要去掉一个作者,怎么和编..._网络编辑_帮考网...
- 为了疫情防控,发短信可查自己的行踪轨迹,是什么技术在帮忙?
- 2.5 Bro脚本入门
热门文章
- C# textBox1.Append/Text实现换行
- 覆盖网络 Flannel 0.7
- 【学时总结模板时间】◆学时·10 模板·3◆ AC自动机
- MySQL 多实例详解
- 远程管理,无需在机房来回穿梭
- eclipse如何快速查找某个类
- Webserver推送技术
- CodeForces - 1465E Poman Numbers(推公式+贪心)
- SDUT -2605 A^X mod P(数论+思维)
- HihoCoder - 1441 后缀自动机一·基本概念(模拟,后缀自动机入门好题)