二分查找 #include<cstdio> #include<iostream> #include<vector> #include<algorithm> using namespace std; int arr[100]; int BinarySearch(int n,int target){ int left=0; int right=n-1; while(left<=right){ int mid=right+(left-right)/2;// if(arr[mid]<target) left=mid+1; else if(arr[mid]>target) right=mid-1; else return 1; } return 0; } int main(){ int n,m,x; while(cin>>n){ for(int i=0;i<n;i++){ cin>>arr[i]; } sort(arr,arr+n);// cin>>m; while(m--){ cin>>x; if(BinarySearch(n,x)) cout<<"YES"<<endl; else cout<<"NO"<<endl; } } } 字符串找重复 #include<cstdio> #include<iostream> #include<vector> #include<algorithm> using namespace std; int main(){ string s; while(cin>>s){ for(int i=0;i<s.size()-1;i++){ if(s[i]=='*') continue; int first=1; for(int j=i+1;j<s.size();j++){ if(s[j]==s[i]){ if(first){ cout<<s[i]<<":"<<i<<","<<s[i]<<":"<<j; first=0; } else cout<<","<<s[i]<<":"<<j; s[j]='*'; } } if(!first) cout<<endl; } } }