校招真题练习014 万万没想到之聪明的编辑(头条)

万万没想到之聪明的编辑

题目描述
我叫王大锤,是一家出版社的编辑。我发现一个发现拼写错误的捷径:

1. 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello
2. 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello
3. 上面的规则优先“从左到右”匹配,即如果是AABBCC,虽然AABB和BBCC都是错误拼写,应该优先考虑修复AABB,结果为AABCC

请听题:请实现大锤的自动校对程序

输入描述:
第一行包括一个数字N,表示本次用例包括多少个待校验的字符串。
后面跟随N行,每行为一个待校验的字符串。

输出描述:
N行,每行包括一个被修复后的字符串。

 1 N = int(input())
 2 for x in range(N):
 3     string = input().strip()
 4     n = len(string)
 5     temp = ‘‘
 6     samecount = 0
 7     i = 0
 8     while i < n:
 9         if i == n - 1:
10             temp += string[i]
11             i += 1
12         elif i + 1 < n and string[i] != string[i + 1]:
13             temp += string[i]
14             i += 1
15         else:#s[i] == s[i+1]
16             j = i + 1
17             temp += string[i] + string[j]
18             base = string[i]
19             while j < n and base == string[j]:
20                 j += 1
21             #s[j] is different from s[i]
22             if j == n:
23                 break
24             else:
25                 temp += string[j]
26                 base2 = string[j]
27                 k = j + 1
28                 while k < n and base2 == string[k]:
29                     k += 1
30                 i = k
31     print(temp)

算法思路:滑动窗口。

在窗口内部“捕捉”以下两种类型的子串:

1. 连续3个(含)以上相同的字符。处理办法:只保留2个字符。

2. 连续2个字符之后,出现的连续2个(含)以上的相同字符。处理办法:只保留1个字符。

捕捉完这两种之后,进行窗口向右平移(更新i值)。

注意判断边界条件不要越界。

原文地址:https://www.cnblogs.com/asenyang/p/11217896.html

时间: 2024-08-27 12:28:45

校招真题练习014 万万没想到之聪明的编辑(头条)的相关文章

万万没想到用理工科思维理解世界-摘录

万万没想到用理工科思维理解世界-万维钢(同人于野)著 第一章 怎样杀死海星 传统组织就如同蜘蛛,它的智力集中在大脑,只要你把蜘蛛的头去掉,蜘蛛就会死亡.而去中心化组织就如同海星,海星根本就没有头.它的智能分布在身体各处,一旦你打掉它身体的一部分,那个部分甚至可能自己再长成另一个海星. 不过去中心化组织有个关键的弱点:你很难通过这样的组织赚大钱.分权的产业利润低,只有集权才能获得高利润. 怎样杀死海星?<海星与蜘蛛>给了三个策略. 第一个策略是改变环境.既然你们是靠一种意识形态联系在一起,我就让

《万万没想到:用理工科思维理解世界》读书简记

1.确认偏误(confirmation bias)  万万没想到:用理工科思维理解世界 (万维钢, loc. 291-291) (或称肯证偏误.验证性偏见) 是个人无论合乎事实与否,偏好支持自己的成见.猜想的倾向.由此,人们在脑中选择性地回忆.搜集有利细节,忽略矛盾的信息,并加以片面诠释. 2.搞科研的一大乐趣就是被别人改变想法! 万万没想到:用理工科思维理解世界 (万维钢, loc. 424-424) 我想“改变”是一个顿悟的过程,搞科研是百分之九十九的汗水(渐变)之后,百分之一的灵感(改变)

万万没想到,公有云离中国影视特效渲染还有5年

电影<万万没想到:西游篇>的特效制作公司北京聚光绘影科技有限公司(以下简称:聚光绘影)总经理及视效导演徐飞告诉记者,国际上早在2009年的<阿凡达>就已经通过云端方式实现了全球化的数据传输和渲染,然而具体到中国的情况,至少5年之内不会考虑用公有云进行特效渲染.原因很简单,网络带宽不给力. 成立于2011年的聚光绘影是一家全流程视觉特殊效果提供与高端影视技术服务供应商,迄今为止已完成30多部国内外电影项目后期特效制作.聚光绘影的作品包括<黄金大劫案>.<大闹天宫&g

万万没想到,成功如此简单

我的成功可以复制, 快来思博涨姿势! 前辈的心路历程, 助您走向成功之道. 升职加薪,成为总经理, 出任CEO,迎娶白富美, 走向人生巅峰! 一切尽在掌握之中! 11月19日晚20:00, 腾讯课堂, 万万没想到, 幸福来得如此简单~~ 报名链接:http://ke.qq.com/course/95265

《北京IT故事》能成为下一部《万万没想到》?

10月29日上午,一部名为<北京IT故事>的视频短剧在IT互联网从业者们的朋友圈迅速被刷屏,这部制作粗糙.演员表情木讷.广告植入赤裸的网剧反而因为内容编排和IT互联网从业者的生活息息相关,被广大网友追捧.有人甚至评价<北京IT故事>这部短剧制作和演员阵容堪比<万万没想到>,会成为下一部网络神剧. 真是被你们蠢哭了.IT群体的形象被毁.暗含忧伤的无节操演绎.....等评价此起彼伏,网友在笑着.骂着这部短剧的时候,不知不觉辛苦工作一天后的疲劳一扫而空. 在中国北京,随着生活

万万没想到,公式还能这样编辑!

在文档中编辑公式是一个非常头疼的问题,感觉公式都是一些特殊的样式,用公式编辑器的模板怎么都编辑不出来.那是因为还有很多模板的组合输入你不会,在你熟悉了之后,你会发现,原来公式还能这样编辑出来! 编辑公式时最常用的软件就是MathType数学公式编辑器,这是一款强大的软件,它比Office自带的公式编辑器要好用很多.不信的朋友可以去试一下,将两者进行一下对比绝对会让你眼前一亮. 1.字母上方的黑点 例如输入下面的方程组: 操作过程: (1)打开MathType软件,在括号模板中选择左边大括号,在上

Python分析了 7 万款 App,万万没想到

摘要:使用 Scrapy 爬取豌豆荚全网 70,000+ App,并进行探索性分析. 写在前面:若对数据抓取部分不感兴趣,可以直接下拉到数据分析部分. 1 分析背景 之前我们使用了 Scrapy 爬取并分析了酷安网 6000+ App,为什么这篇文章又在讲抓 App 呢? 因为我喜欢折腾 App,哈哈.当然,主要是因为下面这几点: 第一.之前抓取的网页很简单 在抓取酷安网时,我们使用 for 循环,遍历了几百页就完成了所有内容的抓取,非常简单,但现实往往不会这么 easy,有时我们要抓的内容会比

2018 拼多多 校招真题 最大乘积

最大乘积 时间限制:1秒 空间限制:32768K 热度指数:8197 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE. 题目描述 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述: 无序整数数组A[n] 输出描述: 满足条件的最大乘积 示例1 输入 3 4 1 2 输出 8 思路分析:看到这个题目,下意识想到用Arrays.sort()排一下序, 因为输入的整数可以是负

万万没想到 人类200年人工智能想象史竟然藏着这样的大秘密

许多人真正记住人工智能,或许是因为2001年史蒂文·斯皮尔伯格执导那部电影<人工智能>. 诡吊的是,这部电影像极了他1985年为了冲击奥斯卡为拍的文艺片<紫色>,从来都是票房冠军.爆米花故事高手的斯皮尔伯格,没能让人们记住这部电影的情结,只是让大家脑海里刻下了一幅海报--用一个小男孩的剪影和身影组成的2个英文字母"AI"(人工智能Artificial Intelligence的缩写). 文/张书乐(人民网.人民邮电报专栏作者) 新著有<微博运营完全自学手册