牛客網第十三天的訓練
阿新 • • 發佈:2018-11-24
基礎題:翻轉字串
class ReverseEqual {
public:
bool checkReverseEqual(string s1, string s2) {
// write code here
if(s1.length()!=s2.length()) return false;
s1=s1+s1;
if(s1.find(s2)!=std:: npos) return true;
else return false;
}
};
進階題:連續整數
#include<iostream> #include<algorithm> #include<cstring> using namespace std; const int maxn = 55; int a[maxn]; int main() { int n,ans; while(cin>>n) { int flag=0; for(int i=0;i<n;++i) { cin>>a[i]; } sort(a,a+n); for(int i=1;i<n;++i) { if(a[i]-a[i-1]==1) { continue; } else if(a[i]-a[i-1]==2) { if(flag==2) { flag=1; break; } ans=a[i]-1; flag=2; } else { flag=1; break; } } if(flag==1) { cout<<"mistake"<<endl; }else if(flag==2) { cout<<ans<<endl; }else { if(a[0]==1) { cout<<a[n-1]+1<<endl; } else if(a[n-1]==1000000000) { cout<<a[0]-1<<endl; } else { cout<<a[0]-1<<" "<<a[n-1]+1<<endl; } } } return 0; }