当前位置: 首页 > wzjs >正文

商务网站设计实训总结短视频制作软件免费

商务网站设计实训总结,短视频制作软件免费,wordpress上显示pdf,手机图片编辑软件免费版目录 题目算法标签: 模拟, 字符串操作思路代码*后续 A C AC AC代码 题目 一段英语短文的内容记录于 lines 中,每行输入 lines[i] 仅包含 a-z , . , -,即英文小写字母,空格,逗号,句号和续行符。 请统计单词数量&#…

题目

一段英语短文的内容记录于 lines 中,每行输入 lines[i] 仅包含 a-z , . , -,即英文小写字母,空格,逗号,句号和续行符。

请统计单词数量:

  • - 表示续行符(仅会出现在行尾,且不会出现在最后一行)
  • 对于含有续行符的行:将下一行的首个非空字符起的余下部分,拼接在当前行续行符左侧的字符后;
  • 对于不含续行符的行:与下一行是分隔的,相当于有一个单词分隔符。

单词:全部由字母组成

其它均为单词分隔符:包括一个或多个连续的空格、逗号、句号 。

输入

  • 1 <= lines.length <= 25
  • 1 <= lines[i].length <= 80

输出

一个整数,表示所统计的单词数量

算法标签: 模拟, 字符串操作

思路

整体算法分为三步

  1. 将带有续行符的单词进行合并
  2. 将字符串中的其他分隔符替换为空格, 并将字符串数组合并为一个单词字符串
  3. 将处理完的字符串放入 i s t r i n g s t r e a m istringstream istringstream进行流式计数

整体算法时间复杂度是 O ( n ) O(n) O(n), 但是边界情况很多, 实现起来比较复杂

代码

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <cctype>using namespace std;class Solution {
public:vector<string> strs;void merge(vector<string> &ans) {int i = 0, n = strs.size();while (i < n) {string s = strs[i];i++;//对于当前字符串合并所有可能的字符串while (true) {if (strs.empty() || s.back() != '-' || i >= n) break;//去除连接符s.pop_back();string ne_s = strs[i];int pos = ne_s.find_first_not_of(' ');if (pos != string::npos) s += ne_s.substr(pos);else s += ne_s;i++;}ans.push_back(s);}}void handle(string &s, vector<string> &vec) {for (string &tmp : vec) {bool pre = true;for (char c : tmp) {if (isalpha(c)) {s += c;pre = false;}else if (!pre) {s += ' ';pre = true;}}if (!s.empty() && !pre) s += ' ';}}int GetWordsCnt(const vector<string> &lines) {strs = lines;vector<string> vec;merge(vec);string s;//执行步骤2handle(s, vec);istringstream is(s);string tmp;int ans = 0;while (is >> tmp) ans++;return ans;}
};

*后续 A C AC AC代码

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <cctype>using namespace std;class Solution {
public:vector<string> strs;void merge(vector<string> &ans) {int i = 0, n = strs.size();while (i < n) {string s = strs[i];i++;while (true) {if (strs.empty() || s.back() != '-' || i >= n) break;s.pop_back();string &ne_s = strs[i];int pos = ne_s.find_first_not_of(' ');if (pos != string::npos) s += ne_s.substr(pos);else s += ne_s;i++;}ans.push_back(s);}}void handle(string &s, vector<string> &vec) {for (string &tmp : vec) {//记录前一个位置是否是空格bool pre = true;for (char c : tmp) {if (isalpha(c)) {s += c;pre = false;}//当前位置不是字母并且前一个位置不是空格说明是其他的分割符需要转化为空格并且标记当前位置是空格else if (!pre) {s += ' ';pre = true;}}//字符串不为空并且前面前面没有空格if (!s.empty() && !pre) s += ' ';}}int GetWordsCnt(const vector<string> &lines) {strs = lines;vector<string> vec;merge(vec);string s;handle(s, vec);istringstream is(s);string tmp;int ans = 0;while (is >> tmp) ans++;return ans;}
};

文章转载自:

http://YizV1mTB.mzhgf.cn
http://fwX6lPJA.mzhgf.cn
http://4osWu1mR.mzhgf.cn
http://8ri2HKEI.mzhgf.cn
http://fsG7XIFn.mzhgf.cn
http://aFQySKGt.mzhgf.cn
http://6Dn7rAxz.mzhgf.cn
http://fICQxrQU.mzhgf.cn
http://LMNjXWfZ.mzhgf.cn
http://DkaYHnhP.mzhgf.cn
http://xr0aq7AI.mzhgf.cn
http://Qqujss3h.mzhgf.cn
http://vsluPq9G.mzhgf.cn
http://a0D7PFuE.mzhgf.cn
http://0plxRHQk.mzhgf.cn
http://O2oKIyDp.mzhgf.cn
http://KWo9i6mS.mzhgf.cn
http://ZPdRR7RC.mzhgf.cn
http://sVQjt36S.mzhgf.cn
http://XfgqwnWN.mzhgf.cn
http://yy2tDjrg.mzhgf.cn
http://WLXqx7oE.mzhgf.cn
http://PW1tjzky.mzhgf.cn
http://HMP4dZc0.mzhgf.cn
http://8mp9uukh.mzhgf.cn
http://KAAUFR50.mzhgf.cn
http://AZn9v1tX.mzhgf.cn
http://VL0Ejp2q.mzhgf.cn
http://0mvKZdwS.mzhgf.cn
http://ucZ3soqV.mzhgf.cn
http://www.dtcms.com/wzjs/753720.html

相关文章:

  • 网站在线动易网站栏目
  • 上海市建设安全协会网站特种工什么叫静态网站
  • 途牛网站建设功能需求分析微信企业网站源码下载
  • 城乡建设杂志官方网站wordpress上线apache
  • 奢侈品网站建设2023年免费域名推荐
  • 上海做高端网站最近国际新闻大事20条
  • 厦门响应式网站建设wordpress文章id排列
  • 网页设计做军事网站的感想衡水企业网站制作
  • 凡科做网站不好android 不装插件 wordpress
  • 网站后台多附件上传wordpress默认主体设置
  • 济宁网站建设有限公司宁波网站建设方案咨询
  • 滨州网站建设phpi企业网站做seo的必要性
  • 网站设计三把火科技不写代码做网站
  • wordpress网站托管百度网页版入口网址
  • 湘潭做网站品牌磐石网络crm客户管理系统免费软件
  • 网站单页生成器58同城赶集网
  • wordpress 7天热门seo排名关键词点击
  • 自己做本地网站济南网站建设是什么
  • 成都教育网站建设做网站常用代码向右浮动怎么写
  • 淮南网官方网站东莞市公司网站建设
  • 烟台百度网站建设推广网站设计上海
  • 电商网站设计模板建设工程教育网好还是环球网站好
  • 网站备案服务码口令是什么意思自己做一个入库出库系统
  • 衡阳市城乡建设协会官方网站邯郸市瑞荣网络科技有限公司
  • 做c语言的题目的网站沈阳软件定制开发
  • 东莞网络营销型网站营销型网站建设怎么收费
  • 关掉自己做的网站江苏中小企业建站价格
  • 公司经营范围 网站开发佛山网站设计案例
  • 攀枝花移动网站建设广州外贸公司有哪些
  • 凡科免费网站可以做推广吗主题资源网站建设反思