### 题目描述

我叫王大锤,是一家出版社的编辑。

我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。

但是,优秀的人总能在平凡的工作中发现真理。

我发现了一个发现拼写错误的捷径:

三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello

两对一样的字母(AABB 型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello

上面的规则优先“从左到右”匹配,即如果是 AABBCC,虽然 AABB 和 BBCC 都是错误拼写,应该优先考虑修复 AABB,结果为 AABCC
我特喵是个天才!

我在蓝翔学过挖掘机和程序设计,按照这个原理写了一个自动校对器,工作效率从此起飞。

用不了多久,我就会出任 CEO,当上董事长,迎娶白富美,走上人生巅峰,想想都有点小激动呢!

......

万万没想到,我被开除了,临走时老板对我说:“做人做事要兢兢业业、勤勤恳恳、本本分分,人要是行,干一行行一行。一行行行行行;要是不行,干一行不行一行,一行不行行行不行。”

我现在整个人红红火火恍恍惚惚的......

#### 样例

```
2
helloo
wooooooow
```

----------

### 算法1

#### 时间复杂度  $O(n)$

#### python3 代码

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

----------

### 算法2 双指针

#### 时间复杂度  $O(n)$

#### python3 代码

#双指针
def modify():n = int(input())for i in range(n):s = list(input())j = 0for i in range(len(s)):s[j] = s[i]j += 1if j >= 3 and s[j - 1] == s[j - 2] == s[j - 3]:j -= 1elif j >= 4 and s[j - 1] == s[j - 2] and s[j - 3] == s[j - 4]:j -= 1print(''.join(s[0:j]))
modify()

2019年头条笔试题大锤升职相关推荐

  1. 头条2019.3.16笔试题

    这次头条笔试题比之前简单多了..终于全部过了 找钱问题,共1024,64,16,4,1几种面值.因为1,4,16,64这几种面值都可以由小于他们的面值凑出来,所以直接贪心的选最大的面值就好. impo ...

  2. 招商银行信用卡2019届实习笔试题

    招商银行信用卡2019届实习笔试题 题目表述:如图 思路:有向图中找回环.(具体方法和原理可以参考相关博客)同时标记那些指向回环的顶点.全部的顶点去掉被标记的顶点,输出就是答案了.完全按照题目中的提示 ...

  3. 2019 java 京东笔试题

    想进京东的同学注意了,这里是修真院面试笔记整理,那么这里就给大家分享一下 [2019 java 京东笔试题] JVM的内存结构和管理机制: JVM实例运行 JVM实例消亡 JVM的生命周期 JVM的内 ...

  4. 试卷: 浩鲸科技2019校招算法类笔试题 原地去重

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成. 试卷: 浩鲸 ...

  5. 头条笔试题:任务调度

    头条笔试题:任务调度 https://www.nowcoder.com/question/next?pid=8537279&qid=141057&tid=17430446 产品经理(P ...

  6. 如何利用扩展欧几里得算法求解不定方程_客户端不用的算法系列:从头条笔试题认识扩展欧几里得算法...

    难度较高,阅读时间大概 28 分钟 这是数论的第二篇,在<素数筛法>中,我们重温了素数这个数学定义,并且给出了区别于教科书上更高效的 Eratosthenes 筛法和欧拉线性筛.这篇文会从 ...

  7. 2019届华为笔试题(软件卷)

    华为笔试题共3道编程题.第一题100分,第二题200分,第三题300分,一共600分. 第一题: 输入描述: 1.忽略小数点,例如"A1.2",认为包含整数1和2: 2.如果整数的 ...

  8. 宝石迷阵 java_宝石迷阵-2019头条笔试题

    List[] tree保存整颗树. Map> edge保存边上的信息. Map map保存path字符串的hashcode及val和. char c = sc.next().charAt(0); ...

  9. 招银网络科技java春招二面_招银网络科技 2019春招笔试题复盘

    因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激:也望借此平台留下学习笔记以温故而知新.这篇博客是复盘回忆招银网络科技2019春招的笔试试题类型,相关岗位:算法工程师. 简要介绍:时 ...

最新文章

  1. 互联网协议 — 动态路由协议类型
  2. 一个程序员写多门语言不会记串么?
  3. se16 and include table entries into TR SAT trace - Gross time and Net time
  4. 意外收获字节跳动内部资料,已开源
  5. MVVM项目中的动态DataGrid单元样式
  6. dc综合与pt静态时序分析(中文)_新能源汽车小三电系统(PDU/DC/OBC)技术研究详解...
  7. 2019牛客多校第四场B xor(线性基求交)题解
  8. 【51nod】1776 路径计数
  9. 怎么把安装包挂在HTML,怎么把安装包拷贝到u盘
  10. WPF实例系列一:登录、注册界面设计
  11. win7家庭版升级为Win7旗舰版
  12. BEC听力训练 方法2
  13. 声声不息,新“声”报到
  14. 国产智能手机正在消失的一项功能
  15. C语言 | 函数参数
  16. 《计算机组成原理》第五章指令系统 部分课后习题答案 清华大学出版_秦磊华_谭志虎
  17. 找工作前练手前端项目实战2
  18. scikit-image库-- 圆形和椭圆形霍夫变换(十七)
  19. 利用PaddleOCR训练车牌识别模型
  20. 2017大数据产业链的大变化:数据应用仍在奋斗 淘金路上见曙光

热门文章

  1. 用模拟开关芯片直接驱动继电器电路
  2. 【Buildroot】学习记录(2)配置注释
  3. git如何上传本地代码文件到git仓库【图文详解】
  4. Emgucv FloodFill 在c#调用方法,把默认黑底图变白色
  5. c语言switch case 空,switch语句中case为空时的意义
  6. 083-反射(序列化 json)
  7. git 常用命令及基本用法
  8. orcal导入dmp
  9. UI界面中的图标设计趋势与最佳实践
  10. 微信授权登陆步骤(微信客户端内)