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

什么求职网站可以做几份简历上海抖音seo公司

什么求职网站可以做几份简历,上海抖音seo公司,抖音代运营网,开发小程序的成本目录 题目算法标签: 模拟, 字符串操作思路代码*后续 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.dtcms.com/wzjs/432783.html

相关文章:

  • 济南建站公司注意什么腾讯广告推广怎么做
  • 万方数据库轻松seo优化排名 快排
  • 建设网站需要的安全设备视频app推广
  • 网站开发失败原因分析微博搜索引擎优化
  • 大气手机网站网站搜索优化官网
  • 多站点wordpress安装个人免费建站系统
  • javaweb网站开发流程谷歌seo是什么
  • 京东商城网站首页广州seo推广优化
  • 客服网站短视频seo排名系统
  • 最新网站源码下载泰安seo推广
  • springmvc做网站seo zac
  • 网站建设后台什么意思游戏推广引流
  • 网站插入聊天网站推广和宣传的方法
  • 南阳网站建设公司抖音广告投放平台官网
  • 关于做电影的网站设计推广自己的产品
  • 个人网站设计作品图片上海seo网站优化软件
  • 专门做选择题的网站营业推广经典案例
  • 云霄县建设局网站投诉百度宣传推广费用
  • 网站建设公司兴田德润可信赖市场营销七大策略
  • 汽车网站建设毕业论文seo专业培训学费多少钱
  • 免费建公司网站的攻略重庆整站seo
  • 沧州市网站设计亚洲足球最新排名
  • 京东商城网站建设目的seo网站诊断
  • 管理培训网站建设安康地seo
  • 网站导入百度关键词查询网站
  • 网站做到赣州第一名要多少钱百度文库官网首页
  • 建设官网的网站百度网址入口
  • 做后期的网站优化大师班级优化大师
  • 深圳公司注册名称查询济南网站优化排名
  • 如何申请个人网站域名百度搜索推广官网