文章目录

  • 1. 题目
  • 2. 解题

1. 题目

有时候人们会用重复写一些字母来表示额外的感受,比如 "hello" -> "heeellooo", "hi" -> "hiii"
我们将相邻字母都相同的一串字符定义为相同字母组,例如:"h", "eee", "ll", "ooo"

对于一个给定的字符串 S ,如果另一个单词能够通过将一些字母组扩张从而使其和 S 相同,我们将这个单词定义为可扩张的(stretchy)。
扩张操作定义如下:选择一个字母组(包含字母 c ),然后往其中添加相同的字母 c 使其长度达到 3 或以上

例如,以 "hello" 为例,我们可以对字母组 "o" 扩张得到 "hellooo",但是无法以同样的方法得到 "helloo" 因为字母组 "oo" 长度小于 3。
此外,我们可以进行另一种扩张 "ll" -> "lllll" 以获得 "helllllooo"。如果 S = "helllllooo",那么查询词 "hello" 是可扩张的,因为可以对它执行这两种扩张操作使得 query = "hello" -> "hellooo" -> "helllllooo" = S

输入一组查询单词,输出其中可扩张的单词数量

示例:
输入:
S = "heeellooo"
words = ["hello", "hi", "helo"]
输出:1
解释:
我们能通过扩张 "hello" 的 "e" 和 "o" 来得到 "heeellooo"。
我们不能通过扩张 "helo" 来得到 "heeellooo" 因为 "ll" 的长度小于 3 。说明:
0 <= len(S) <= 100。
0 <= len(words) <= 100。
0 <= len(words[i]) <= 100。
S 和所有在 words 中的单词都只由小写字母组成。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/expressive-words
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:int expressiveWords(string S, vector<string>& words) {if(S == "") return 0;int ans = 0, num = 0;vector<char> S_char;//记录连续的单一字符vector<int> count;//单一字符个数char prev = S[0];for(int i = 0; i < S.size(); i++){if(S[i] != prev){S_char.push_back(prev);count.push_back(num);num = 1;prev = S[i];}else{num++;}}S_char.push_back(prev);count.push_back(num);for(auto& w : words){if(w == "")continue;bool flag = true;int i = 0;num = 0;prev = w[0];// 对每个单词同样的方法for(int j = 0; j < w.size(); j++){if(w[j] != prev){if(i == S_char.size() || prev != S_char[i] || count[i] < num|| (count[i] != num && count[i]<3)){// 字符跟S不匹配、S的字符数小于num、个数不等且S中的个数小于3flag = false;//不能得到Sbreak;}i++;num = 1;prev = w[j];}else{num++;}}if(i == S_char.size() || prev != S_char[i] || count[i] < num|| (count[i] != num && count[i]<3))flag = false;if(flag && i == S_char.size()-1)ans++;}return ans;}
};

8 ms 7.6 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 809. 情感丰富的文字相关推荐

  1. leetcode809. 情感丰富的文字

    有时候人们会用重复写一些字母来表示额外的感受,比如 "hello" -> "heeellooo", "hi" -> " ...

  2. C#LeetCode刷题-字符串

    字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串 24.6% 中等 5 最长回文子串 22.4% 中等 6 Z字形变换 35.8% 中等 8 字符串转整数 (atoi) 15.3% 中 ...

  3. leetcode算法练习 JavaScript实现

    leetcode 表格内容由spider.js从leetcode-cn.com爬取. 已做题目答案也从leetcode-cn.com中爬取并生成文件. 解题进度:已解决 140/637 - 简单 94 ...

  4. LeetCode中的那些题

    目录 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 *******4.寻找两个有序数组的中位数(官方解答) : 5.最长回文子串(官方解答) 15. 三数之和 16. 最接近的三数之和 ...

  5. leetcode 转载

    转载: https://blog.csdn.net/love905661433/article/details/84980135 LeetCode 1- 100 1. 两数之和 : https://b ...

  6. LeetCode题解汇总

    题目 推荐指数 1. 两数之和 1 2. 两数相加 1 4. 寻找两个正序数组的中位数 2AAAA 6. Z 字形变换 1 7. 整数反转 2 8. 字符串转换整数 (atoi) 2AAA 9. 回文 ...

  7. LeetCode 700题 题解答案集合 Python

    2019.5.12更新至题号796,目前共有265题. 2019.5.26更新至题号72, 目前共有347题. 2019.6.16更新至题号70,目前共有382题. 2019.7.7更新至题号5120 ...

  8. 字符串 leetcode 总结

    字符串 我的答案 题号 题目 通过率 难度 总结 掌握   #3 无重复字符的最长子串 33.4% 中等       #5 最长回文子串 29.0% 中等       #6 Z 字形变换 47.1% ...

  9. 【Leetcode】每日一题打卡(64)

    1619. 删除某些元素后的数组均值 - 简单ac class Solution { public:double trimMean(vector<int>& arr) {sort( ...

最新文章

  1. [微信小程序]手指触摸动画效果(完整代码附效果图)
  2. plsql误删除数据,提交事务后如何找回?
  3. idea dump分析工具_实战:OOM 后我如何分析解决的
  4. LNMP(Nginx负载均衡,SSL原理,Nginx配置SSL,生产SSL密钥对)
  5. bnu- 34985 Elegant String
  6. 数据结构之图的应用:有向无环图
  7. java jre 与jdk的区别_学习java却不知道JRE和JDK的区别?看完这篇文章,让你受益匪浅...
  8. Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?
  9. 蛋制品加工行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  10. 2000份简历模板 唯美时尚简约个人简历模板 英文简历模板 简历封面 自荐信下载
  11. 如何用python做软件导出cad_使用python将cad批量导出至pdf
  12. android 10 多开,多开分身安卓10版
  13. 5-27 家谱处理 (30分)
  14. 齐齐哈尔市全国计算机等级考试,2019年3月黑龙江省齐齐哈尔市计算机等级考试注意事项...
  15. python播放url音频_从URL获取音频并播放i
  16. OWASP十大漏洞之一
  17. Nuvoton emWin HMI Solution
  18. Ubuntu下校园网锐捷客户端的连接
  19. 指南:使用 Trickle 限制应用程序带宽占用
  20. 浅谈partial class的理解

热门文章

  1. Golang语言基础课件
  2. 【养成好习惯】使用pipreqs导出本项目使用的环境
  3. 【python】Get与Post的区别?(面试官最想听到的答案)
  4. Mysql面试热身题集总结
  5. caffe caffe.cpp 程序入口分析
  6. Linux设备驱动模型3——platform平台总线工作原理
  7. ubuntu14.04上网问题
  8. 【洛谷 2661】信息传递
  9. Excel 取消Internet及网络路径自动替换为超链接
  10. [BZOJ1669][Usaco2006 Oct]Hungry Cows饥饿的奶牛