首页 > 代码库 > 查找重复的字符串
查找重复的字符串
给定一个长度为n的数组,其元素也在【0 n-1】范围内,判断其中是否包含重复元素。
#include <stdio.h>
#include <stdlib.h>#include<iostream>
#include<string>
using namespace std;
bool find_repeat(int *s,int len)
{
int max(s[0]),min(s[0]);
if(len==0)
return false;
for(int i=1;i<len;i++)
{
if(s[i]>max)
{
max=s[i];
}
else if(s[i]<min)
{
min=s[i];
}
}
int temp=max-min;
if(temp==0)
{
return true;
}
for(int i=0;i<len;i++)
{
s[i]=s[i]-min;
}
//int i=0;
for(int i=0;i<len;i++)
{
while(s[i]!=i)
{
if(s[s[i]]==s[i])
return true;
else
{
int temp=s[i];
s[i]=s[temp];
s[temp]=temp;
}
}
}
return false;
}
int main()
{
int a[]={3,5,2,-1,1,0,4};
if(find_repeat(a,7))
cout<<"repeat true"<<endl;
else
cout<<"no repeat"<<endl;
for(int i=0;i<7;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
查找重复的字符串
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。