2019牛客网校招真题(1星)---万万没想到之聪明的编辑
文章目录
题目描述
题目描述
我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:
- 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello
- 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello
- 上面的规则优先“从左到右”匹配,即如果是AABBCC,虽然AABB和BBCC都是错误拼写,应该优先考虑修复AABB,结果为AABCC
我特喵是个天才!我在蓝翔学过挖掘机和程序设计,按照这个原理写了一个自动校对器,工作效率从此起飞。用不了多久,我就会出任CEO,当上董事长,迎娶白富美,走上人生巅峰,想想都有点小激动呢!
……
万万没想到,我被开除了,临走时老板对我说: “做人做事要兢兢业业、勤勤恳恳、本本分分,人要是行,干一行行一行。一行行行行行;要是不行,干一行不行一行,一行不行行行不行。” 我现在整个人红红火火恍恍惚惚的……
请听题:请实现大锤的自动校对程序
输入描述:
第一行包括一个数字N,表示本次用例包括多少个待校验的字符串。
后面跟随N行,每行为一个待校验的字符串。
输出描述:
N行,每行包括一个被修复后的字符串。
示例1
输入
2
helloo
wooooooow
输出
hello
woow
初始想法
对于第一条规则,思考后想到的是借助于一个变量 i 初始为0,记录后一个字符是否与前一个字符相同,若相同则加1,否则不变。
若 i 为2,则删除当前所指向的字符。
但是对于第二个没有想到简单合适的方法。
借鉴分析后:
思路1:
利用 res 存储修改后的字符
对于输入的每个字符串 s 的每个字符 e:
分别检查两条规则,若都不符合则存入 res 中
首先,这两条规则都是对于 res 大于2的。
规则1:
检查连续3个字符是否相同,则res 肯定>=2,加上当前的字符就是3个,即当前字符,和res 已有的倒数两个字符检查是否相同
若相同,则跳出本次循环,进行下一次循环,不执行最后的res.append(i)。
规则2:
对于2对字符是否相同,要求res长度>=3。检查当前字符和倒数第一字符,倒数第二个字符和倒数第三个字符是否相同。
n = int(input())
while n > 0:s = input()res = []for e in s:if len(res) < 2:res.append(e)continueif len(res) >= 2:if e == res[-1] and e == res[-2]:continueif len(res) >= 3:if e == res[-1] and res[-2] == res[-3]:continueres.append(e)print("".join(res)) # 一个字符串检查完成,输出检查后结果n -= 1
实际编程问题:
1、
n = int(input())
while(n--):
Python 没有 n-- 这种用法
2、
n = int(input())
while n > 0 :s = input()res = []for i in s:if(len(res))<2:res.append(i) if(len(res)) >=2:if i == res[-1] and i == res[-2]:continueif(len(res))>=3:if i == res[-1] and res[-2] == res[-3]:continueres.append(i)print("".join(res))n -= 1
错误:
if(len(res))<2:
res.append(i)
之后少了continue
不然最后又加了一次当前字符
以helllo为例分析。
收获
1. 对 continue 的理解
循环里有continue ,则结束本次循环,进行下一次循环 i+1 ,continue之后的不执行。
2、
添加要改颜色的字体
添加要改颜色的字体
添加要改颜色的字体
添加要改颜色的字体
2019牛客网校招真题(1星)---万万没想到之聪明的编辑相关推荐
- 牛客网笔试真题 2021 阿里巴巴编程题(4星)题解(1-5)
2021阿里巴巴校招笔试真题_Java工程师.C++工程师_牛客网 1.小强现在有n个物品,每个物品有x,y两种属性和.他想要从中挑出尽可能多的物品满足以下条件:对于任意两个物品 i 和 j ,满足( ...
- 2019 字节跳动双指针字符串题目 万万没想到之聪明的编辑
时间限制:1秒 空间限制:32768K 我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现 ...
- 【牛客网-公司真题-前端入门篇】——58同城2021校招笔试-前端
- 【牛客网-公司真题-前端入门篇】——小米秋招笔试-前端
- 【牛客网-公司真题-前端入门篇】——奇安信秋招笔试-前端-卷1
- 【牛客网-公司真题-前端入门篇】——奇安信春招笔试-前端-卷2
- 字节跳动2019春招研发机试题 万万没想到之聪明的编辑
我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼写错误的捷径:..... // ...
- 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...
不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...
- 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数...
不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...
最新文章
- 锤子辩论有感——我该如何定义成功
- 在.NET开发中的单元测试工具之(1)——NUnit
- 【算法学习笔记】哈夫曼树的构建和哈夫曼编码的实现代码
- MicroStation VBA 操作提示
- Java基础练习之流程控制(二)
- 数据库设计时设计标识字段的一些思考
- Regex Tester 安装教程
- CF1040D Subway Pursuit
- c语言24小时计时法转换为12小时,12时24时换算题(24小时和12小时换算方法)
- SPSS——随机抽样
- Python绘制简单折线图、散点图
- 计算机网络四级考试及格分数,四级多少分才算过了 多少分及格
- 关于JPEG、PNG、GIF、WEBP图片格式的理解与使用场景
- 卡内基梅隆大学计算机专业系,卡内基梅隆大学计算机
- 小程序改变swiper样式(带缩略图)
- easyrecovery2023最新免费版电脑数据恢复软件使用教程
- 可视化项目区域设计1
- tbr tbn tbc 的意思
- 一名大学毕业生的反思(转)
- HDFS PB级数据无感迁移实践