大一寒假集訓(13)(14)---vector ,string【未完待續】
大一寒假集訓(13)—vector
知識點
1.
2.
3.
1.中間數
簡單應用
#include <bits/stdc++.h>
using namespace std;
vector<int>a;
int n,x;
int main()
{
ios::sync_with_stdio(false);
while(cin>>n&&n!=0)
{
a.push_back(n);
}
x=a.size();
if(x%2==0)
cout<<a[(x-1)/2]+a[x/2]<<endl;
else
cout<<a[(x-1)/2]<<endl;
return 0;
}
2.鋸齒矩陣
大一寒假集訓(14)—string
知識點
1.定義string的方法:string name
2.一種訪問 string 的方法,就像普通字元陣列一樣操作。
例如: string str= “ abcd “ ;
for(int i = 0; i < str.length(); i++)
printf( “ %c “ ,str[i]); // 輸出 abcd 如果要讀入或者輸出整個字串,一般只能用cin和 cout。如果非要用printf輸出string,則需要用c_str()函式將 string轉換成字元陣列。
例如: string str;
cin>>str;
cout<<str<<endl; printf("%s\n",str.c_str());
3.string 的訪問
另一種訪問string的方法是通過迭代器,主要與insert()、 erase()等函式配合使用。
先定義string迭代器: string::iterator it; 然後就可以通過“*it”來訪問string裡的每一個字元了, 而且string和vector一樣,支援直接對迭代器進行加減某個數 字,如str.begin()+3等。
例如: string str=“abcdefg”;
for(string::iterator it = str.begin()+2;
it != str.end(); it++) printf("%c",*it);//輸出cdef
1.字串合併-string
#include <bits/stdc++.h>
using namespace std;
string a,b;
int main()
{
while(cin>>a>>b)
cout<<a+b<<endl;
return 0;
}
2.迴文字串-string
#include <bits/stdc++.h>
using namespace std;
string a;
int l,n,flag;
int main()
{
while (cin>>n)
{
while(n--)
{
flag=0;
cin>>a;
l=a.length();
if(l%2==0)
{
for(int i=0;i<l/2;i++)
{
if(a[i]!=a[l-i-1])
{
flag=1;
break;
}
}
}
else
{
for(int i=0;i<(l-1)/2;i++)
{
if(a[i]!=a[l-i-1])
{
flag=1;
break;
}
}
}
if(flag==1)
cout<<"NO"<<endl;
else
cout<<"YES"<<endl;
}
}
return 0;
}
3.氣球-string-map
#include <bits/stdc++.h>
using namespace std;
map<string,int>q;
map<string,int>::iterator it;
int n,ans;
string ch,s,r;
int main()
{
while (cin>>n&&n!=0)
{
ans=0;
q.clear();
while(n--)
{
cin>>ch;
q[ch]++;
}
for (it=q.begin();it!=q.end();it++)
{
s=(*it).first;
if(ans<q[s])
{
ans=q[s];
r=s;
}
}
cout<<r<<endl;
}
return 0;
}
4.取子字串-string
#include <bits/stdc++.h>
using namespace std;
string ss;
int x,y,l;
int main()
{
while (cin>>ss)
{
cin>>x>>y;
l=ss.length();
for (int i=x-1;i<y;i++)
cout<<ss[i];
cout<<endl;
while(l--)
ss[l]=' ';
}
return 0;
}
5.strange string nefu 1019
#include <bits/stdc++.h>
using namespace std;
char s[15];
int cnt[50];
int l,num,k,n,flag;
int main()
{
while (scanf("%s",s)!=EOF)
{
for (int i=1;i<=30;i++)
cnt[i]=0;
l=strlen(s);
num=0;
if (l<3)
{
cout<<"NO"<<endl;
continue;
}
n=0;
flag=1;
while (n<l)
{
int x=n;
while (n+1<l&&s[n]==s[n+1])
n++;
num++;
if (cnt[s[n]-'a'+1]) flag=0;
else cnt[s[n]-'a'+1]=1;
if (num==1) k=n+1;
else
{
if (n-x+1!=k) flag=0;
}
n++;
}
if (num!=3||!flag)
{
cout<<"NO"<<endl;
}
else
{
cout<<"YES"<<endl;
}
}
return 0;
}
6.字串處理-string nefu 2132
相關文章
- 排序【未完待續】排序
- 搜尋全家桶(未完待續)
- JAVA面試題(未完待續)Java面試題
- HashMap原始碼分析,未完待續HashMap原始碼
- Runtime 執行時(未完待續)
- 常用揹包dp模板(未完待續)
- git安裝與使用,未完待續... ...Git
- Maven(個人整理)(一,未完待續)Maven
- GDI+學習筆記--未完待續筆記
- 字串匹配演算法【未完待續】字串匹配演算法
- Shell 入門系列: 導航 (未完待續)
- Redis的常用命令——未完待續Redis
- 小程式學習筆記(未完待續)筆記
- 前端學習整理資料(未完待續)前端
- Go的一些特性 未完待續Go
- 函式基本定義和使用‘未完待續函式
- 光速上手k8s(2023)(containerd)(未完待續)K8SAI
- 第一週作業Linux基礎(未完待續,週日繼續)Linux
- Charles日常使用中的問題總結,未完待續……
- Zero shot Learning 論文學習筆記(未完待續)筆記
- 《Katana ZERO(武刃 零)》:嗑藥過量,未完待續
- CSS基礎速刷 - 非佈局樣式(未完待續)CSS
- 資料結構的練習day2(未完待續)資料結構
- Elementary OS折騰記錄( 未完待續,一直更新)
- 在docker中做php優化的發現(未完待續)DockerPHP優化
- 單目深度估計中的LOSS構造【未完待續】
- ping(未完待補充)
- android輸入法機制的學習總結(未完待續)Android
- 計算機組成原理簡單複習總結--未完待續計算機
- 數字陣列最值,總和,平均,中位數 未完待續陣列
- 還在愁webpack如何配置嗎?不妨來這裡看看(未完待續...)Web
- 2023牛客寒假演算法基礎集訓營1 ACDEFGHKLM演算法
- 2023牛客寒假演算法基礎集訓營2 ABCDEFHJKL演算法
- 2024暑假集訓測試14
- 2024暑假集訓測試13
- Spring在不同的使用中需要匯入的jar包(轉載未完待續)SpringJAR
- 2023牛客寒假演算法基礎集訓營5 A-L演算法
- 2023牛客寒假演算法基礎集訓營6 A-L演算法