mirror of
https://github.com/Estom/notes.git
synced 2026-06-28 01:26:12 +08:00
123
This commit is contained in:
53
a.cpp
53
a.cpp
@@ -3,19 +3,50 @@
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
int main(){
|
int compress(vector<char>& chars) {
|
||||||
vector<int> arr{-1, 3, -3, 4,5};
|
vector<char> vec;
|
||||||
vector<int> temp(arr.size()+1,0);
|
vector<int> num;
|
||||||
for(int i=0;i<arr.size();i++){
|
char lc=chars[0];
|
||||||
if(arr[i]<arr.size()+1 && arr[i]>0){
|
int ln=1;
|
||||||
temp[arr[i]]=1;
|
int j=0;
|
||||||
|
for(int i=1;i<chars.size();i++){
|
||||||
|
if(chars[i]==lc){
|
||||||
|
ln++;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
vec[j]=lc;
|
||||||
|
num[j]=ln;
|
||||||
|
j++;
|
||||||
|
lc=chars[i];
|
||||||
|
ln=1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int i;
|
vec[j]=lc;
|
||||||
for(i=1;i<temp.size();i++){
|
num[j]=ln;
|
||||||
if(temp[i]==0)break;
|
vector<char> &res=chars;
|
||||||
|
res.clear();
|
||||||
|
for(int i=0;i<vec.size();i++){
|
||||||
|
res.push_back(vec[i]);
|
||||||
|
if(num[i]==1)continue;
|
||||||
|
if(num[i]>0){
|
||||||
|
char temp = char(num[i]%10-0+'0');
|
||||||
|
res.push_back(temp);
|
||||||
|
num[i]/=10;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
cout<<i<<endl;
|
return res.size();
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
int main(){
|
||||||
|
vector<char> chars={'a','a','b'};
|
||||||
|
for(auto a:chars){
|
||||||
|
cout<<a<<endl;
|
||||||
|
}
|
||||||
|
compress(chars);
|
||||||
|
|
||||||
|
for(auto a:chars){
|
||||||
|
cout<<a;
|
||||||
|
}
|
||||||
|
cout<<endl;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user