0038-url地址
题目描述
给定一个url前缀和url后缀
通过,分割 需要将其连接为一个完整的url
如果前缀结尾和后缀开头都没有/
需要自动补上/连接符
如果前缀结尾和后缀开头都为/
需要自动去重
约束:
不用考虑前后缀URL不合法情况
输入\出描述
url前缀(一个长度小于100的字符串)
url后缀(一个长度小于100的字符串)
样例
一、
输入
/acm,/bb
输出
/acm/bb
二、
输入
/abc/,/bcd
输出
/abc/bcd
三、
输入
/acd,bef
输出
/acd/bef
四、
输入
,
输出
/
C++代码
//
// Created by HANWENKE on 2022-09-20.
//
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(){
string stemp;
getline(cin,stemp);
vector<string>res;
if(stemp.size()==0){
cout<<"/";
return 0;
}
string temp;
for(int i=0;i<stemp.size();i++){
if(stemp[i]==','){
res.push_back(temp);
temp.clear();
i++;
}
if((stemp[i]>='A'&&stemp[i]<='Z')||(stemp[i]>='a'&&stemp[i]<='z')){
temp+=stemp[i];
}
}
if(!temp.empty()){
res.push_back(temp);
}
string sres;
sres+='/';
for(int i=0;i<res.size();i++){
sres+=res[i];
sres+='/';
}
sres.pop_back();
cout<<sres;
return 0;
}
0039-序列描述
问题描述
有一个数列A[n]
从A[0]开始每一项都是一个数字
数列中A[n+1]都是A[n]的描述
其中A[0]=1
规则如下
A[0]:1
A[1]:11 含义其中A[0]=1是1个1 即11
表示A[0]从左到右连续出现了1次1
A[2]:21 含义其中A[1]=11是2个1 即21
表示A[1]从左到右连续出现了2次1
A[3]:1211 含义其中A[2]从左到右是由一个2和一个1组成 即1211
表示A[2]从左到右连续出现了一次2又连续出现了一次1
A[4]:111221 含义A[3]=1211 从左到右是由一个1和一个2两个1 即111221
表示A[3]从左到右连续出现了一次1又连续出现了一次2又连续出现了2次1
输入描述
输入n
0<= n <=59
输出
数列内容
样例
输入
5
输出
312211
输入
6
输出
13112221
C++代码
//
// Created by HANWENKE on 2022-09-21.
//
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
string res="1";
if(n==0){
cout<<res[0];
return 0;
}
string st;
for(int i=1;i<=n;i++){
string next;
//获取上一个字符的第一个字符
char last=res[0];
//记录这个字符出现的次数
int count=1;
for(int j=1;j<res.length();j++){
//如果当前字符等于前面的字符--那么个数就++
if(res[j]==last)count++;
else{
//next和last进行更新
next+= to_string(count);
next+=last;
count=1;
last=res[j];
}
}
//next加上最后一个的个数+最后一个字符
string tt= to_string(count);
next+=tt;
next+=last;
res=next;
}
cout<<res;
return 0;
}