五月集训 (第02天) —— 字符串
Posted 英雄哪里出来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五月集训 (第02天) —— 字符串相关的知识,希望对你有一定的参考价值。
文章目录
前言
此为《英雄算法联盟:算法集训》的内容,具体内容详见:知识星球:英雄算法联盟。
欢迎大家积极在评论区留言发表自己的看法,知无不言,言无不尽,养成每天刷题的习惯,也可以自己发布优质的解题报告,供社区一同鉴赏,吸引一波自己的核心粉丝。
希望大家先自己思考,如果实在没有想法,再看下面的算法思路,如果有思路但是写不出来,可以参考朋友圈中其他人的代码,总有一款是适合你的,关注一下他,取其之长,补给之短。
今天集训的内容是:字符串
一、练习题目
题目链接 | 难度 |
---|---|
500. 键盘行 | ★☆☆☆☆ |
1160. 拼写单词 | ★☆☆☆☆ |
1047. 删除字符串中的所有相邻重复项 | ★☆☆☆☆ |
1935. 可以输入的最大单词数 | ★☆☆☆☆ |
二、算法思路
1、键盘行
(1)对于每个单词,查找它每个字母对应到键盘的第几行,如果整个单词的行都是一样的,则是一个符合条件的单词,放入结果集合中即可。
2、拼写单词
(1)遍历字母表,记录每个单词的出现次数。
(2)遍历每个单词,记录该单词每个字符的出现次数,如果所有字符的出现次数都 ≤ 字母表,则将这个字符串的长度加到结果变量中,最后返回这个结果变量。
3、删除字符串中的所有相邻重复项
(1)利用栈的思想。
(2)遍历字符串,如果发现和栈顶元素一致,则弹出栈顶;否则,将当前元素压栈。
(3)将所有栈中元素弹出放入一个字符串中,再逆序返回即可。
4、可以输入的最大单词数
(1)切割字符串,对于每个字符串,如果其中没有坏掉的字符,则计数器加一,最后返回计数器。
(2)为了方便切割,可以在原字符串末尾加上一个空格。
以上是关于五月集训 (第02天) —— 字符串的主要内容,如果未能解决你的问题,请参考以下文章