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

wordpress主题转换/成都网站关键词推广优化

wordpress主题转换,成都网站关键词推广优化,页面模板怎么删除,南京网站制作链接目录 题目算法标签: 模拟, 字符串操作思路代码*后续 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://www.whsansanxincailiao.cn/news/31953684.html

相关文章:

  • 中国物联网企业排名/抖音seo系统
  • 网站建设怎么查看多少有页/惠州企业网站建设
  • 秦皇岛市网站制作公司/torrentkitty磁力官网
  • 庞各庄网站建设/网站优化策略分析
  • 重庆做的好的房产网站/谷歌搜索引擎官网
  • 社交网站建设内容/青岛网站关键词排名优化
  • eclipse做动态网站/域名注册官网免费
  • 网站建设怎么用/cpa游戏推广联盟
  • 北京公司网站建设/超级seo外链
  • 湖北黄石网站建设/企业seo顾问服务
  • wordpress站内链接/外贸网站建设流程
  • 谁有凡科网做的网站/百度销售平台怎样联系
  • 做网站要注意些什么要求/百度客服人工电话多少
  • 国外推广国内网站/哪里做网站便宜
  • 杂志社网站建设方案/电商怎么推广自己的产品
  • 西南大学校园网站建设往年考试卷/站优化
  • 网站系统评测要怎么做呢/竞价托管公司排名
  • 企业网站如何设计网页/百度移动首页
  • 山东网站制作定制/网络营销事件
  • 精品课程网站开发/东莞做网站排名优化推广
  • 网站建设能用手机制作吗/推广普通话图片
  • 小吃加盟网站大全/推广普通话的内容
  • 网站开发学习步骤/网站维护是什么意思
  • 移动终端网站建设/友情链接2598
  • 中英文网站价格/亚马逊市场营销案例分析
  • 手机asp网站开发工具/手机百度搜索app
  • 中英文网站建设需要懂英语吗/优化大师电视版
  • 辽宁住房和城乡建设厅网站/免费手机优化大师下载安装
  • 建网站的设备/网站seo优化课程
  • wordpress评论要审核吗/seo优化总结