John takes computer security very seriously, so he has picked a very long password to secure his files. However, although the password is very strong, it is also hard to memorize.
John decides to create a new password which is easier to remember. Therefore, it must fulfill certain requirements: he wants each character (digit or letter) to appear in the new password an even number of times (possibly zero). Also, since he is so proud of his original password, he wants the new password to be a contiguous substring of the original password.
John has trouble finding such a substring. Help him by finding, for a given string, the length of the longest substring that fulfills the requirements set out above.
Write a function:
int solution(char *S);
that, given a non-empty string S consisting of N characters, returns the length of the longest contiguous substring (possibly empty) of string S in which every character occurs an even number of times.
For example, given S = "6daa6ccaaa6d", the function should return 8. The longest valid password taken from S is "a6ccaaa6"; it contains four letters a, and two each of the digit 6 and letter c. Any longer substring must contain either five letters a or one letter d. Given S = "abca", the function should return 0 (note that aa is not a contiguous substring of S).
Write an efficient algorithm for the following assumptions:
- the length of string S is within the range [1..100,000];
- S consists only of lowercase letters and digits.
// you can write to stdout for debugging purposes, e.g.
int is(char s[],int i,int j)
{
int h[150]={0},t,c;
for(t=i;t<=j;t++)
{
c=(s[t]);
h[c]++;
}
for(t=i;t<=j;t++)
{
c=s[t];
if(h[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(is(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
// you can write to stdout for debugging purposes, e.g.
int is(char s[],int i,int j)
{
int h[150]={0},t,c;
for(t=i;t<=j;t++)
{
c=(s[t]);
h[c]++;
}
for(t=i;t<=j;t++)
{
c=s[t];
if(h[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(is(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
// you can write to stdout for debugging purposes, e.g.
int is(char s[],int i,int j)
{
int h[150]={0},t,c;
for(t=i;t<=j;t++)
{
c=(s[t]);
h[c]++;
}
for(t=i;t<=j;t++)
{
c=s[t];
if(h[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(is(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
kkkkkkk
// you can write to stdout for debugging purposes, e.g.
int is(char s[],int i,int j)
{
int h[150]={0},t,c;
for(t=i;t<=j;t++)
{
c=(s[t]);
h[c]++;
}
for(t=i;t<=j;t++)
{
c=s[t];
if(h[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(is(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
// you can write to stdout for debugging purposes, e.g.
int is(char s[],int i,int j)
{
int h[150]={0},t,c;
for(t=i;t<=j;t++)
{
c=(s[t]);
h[c]++;
}
for(t=i;t<=j;t++)
{
c=s[t];
if(h[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(is(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
// you can write to stdout for debugging purposes, e.g.
int is(char s[],int i,int j)
{
int a[150]={0},t,c;
for(t=i;t<=j;t++)
{
c=(s[t]);
h[c]++;
}
for(t=i;t<=j;t++)
{
c=s[t];
if(h[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(is(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
// you can write to stdout for debugging purposes, e.g.
int is(char s[],int i,int j)
{
int a[150]={0},k,c;
for(k=i;k<=j;k++)
{
c=(s[k]);
a[c]++;
}
for(k=i;k<=j;k++)
{
c=s[k];
if(a[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(is(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
// you can write to stdout for debugging purposes, e.g.
int is(char s[],int i,int j)
{
int a[150]={0},k,c;
for(k=i;k<=j;k++)
{
c=(s[k]);
a[c]++;
}
for(k=i;k<=j;k++)
{
c=s[k];
if(a[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(is(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
// you can write to stdout for debugging purposes, e.g.
int is(char s[],int i,int j)
{
int a[150]={0},k,c;
for(k=i;k<=j;k++)
{
c=(s[k]);
a[c]++;
}
for(k=i;k<=j;k++)
{
c=s[k];
if(a[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(c(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
// you can write to stdout for debugging purposes, e.g.
int check(char s[],int i,int j)
{
int a[150]={0},k,c;
for(k=i;k<=j;k++)
{
c=(s[k]);
a[c]++;
}
for(k=i;k<=j;k++)
{
c=s[k];
if(a[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) {
// write your code in C99 (gcc 6.2.0)
int n,i,j,m=0,k=0;
n=strlen(s);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(check(s,i,j))
m=j-i+1;
if(m>k)
k=m;
}
}
return k;
}
// you can write to stdout for debugging purposes, e.g.
int check(char s[],int i,int j)
{
int a[150]={0},k,c;
for(k=i;k<=j;k++)
{
c=(s[k]);
a[c]++;
}
for(k=i;k<=j;k++)
{
c=s[k];
if(a[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) { int n,i;
//scanf("%d",&n);
//char a[200];
n=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int max=0,j,count,h;
for(i=0;i<n;i++)
{
count=0;
int b[200]={0};
for(j=i;j<n;j++)
{
count++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(count>max)
max=count;
}
}
}
return max;
}
// you can write to stdout for debugging purposes, e.g.
int check(char s[],int i,int j)
{
int a[150]={0},k,c;
for(k=i;k<=j;k++)
{
c=(s[k]);
a[c]++;
}
for(k=i;k<=j;k++)
{
c=s[k];
if(a[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s) { int n,i;
//scanf("%d",&n);
//char a[200];
n=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int max=0,j,count,h;
for(i=0;i<n;i++)
{
count=0;
int b[200]={0};
for(j=i;j<n;j++)
{
count++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(count>max)
max=count;
}
}
}
return max;
}
// you can write to stdout for debugging purposes, e.g.
int check(char s[],int i,int j)
{
int a[150]={0},k,c;
for(k=i;k<=j;k++)
{
c=(s[k]);
a[c]++;
}
for(k=i;k<=j;k++)
{
c=s[k];
if(a[c]%2!=0)
return 0;
}
return 1;
}
int solution(char *s){
int n,i;
n=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int max=0,j,count,h;
for(i=0;i<n;i++)
{
count=0;
int b[200]={0};
for(j=i;j<n;j++)
{
count++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(count>max)
max=count;
}
}
}
return max;
}
int solution(char *s){
int n,i;
n=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int max=0,j,count,h;
for(i=0;i<n;i++)
{
count=0;
int b[200]={0};
for(j=i;j<n;j++)
{
count++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(count>max)
max=count;
}
}
}
return max;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int max=0,j,count,h;
for(i=0;i<n;i++)
{
count=0;
int b[200]={0};
for(j=i;j<n;j++)
{
count++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(count>max)
max=count;
}
}
}
return max;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int max=0,j,count,h;
for(i=0;i<;i++)
{
count=0;
int b[200]={0};
for(j=i;j<n;j++)
{
count++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(count>max)
max=count;
}
}
}
return max;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int max=0,j,count,h;
for(i=0;i<m;i++)
{
count=0;
int b[200]={0};
for(j=i;j<m;j++)
{
count++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(count>max)
max=count;
}
}
}
return max;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int max=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int b[200]={0};
for(j=i;j<m;j++)
{
count++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(count>max)
max=count;
}
}
}
return max;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int b[200]={0};
for(j=i;j<m;j++)
{
c++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(count>max)
max=count;
}
}
}
return max;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int b[200]={0};
for(j=i;j<m;j++)
{
c++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(c>ma)
max=count;
}
}
}
return max;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int b[200]={0};
for(j=i;j<m;j++)
{
c++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int b[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int d[200]={0};
for(j=i;j<m;j++)
{
c++;
b[S[j]-'0']++;
if(check(b)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int d[])
{
int i;
for(i=0;i<200;i++)
{
if(b[i]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int d[200]={0};
for(j=i;j<m;j++)
{
c++;
d[S[j]-'0']++;
if(check(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int d[])
{
int i;
for(i=0;i<200;i++)
{
if([i]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int d[200]={0};
for(j=i;j<m;j++)
{
c++;
d[S[j]-'0']++;
if(check(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,i;
m=strlen(S);
int check(int d[])
{
int i;
for(i=0;i<200;i++)
{
if(d[i]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int d[200]={0};
for(j=i;j<m;j++)
{
c++;
d[S[j]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,i;
m=strlen(S);
int ch(int d[])
{
int i;
for(i=0;i<200;i++)
{
if(d[i]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int d[200]={0};
for(j=i;j<m;j++)
{
c++;
d[S[j]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(S);
int ch(int d[])
{
int k;
for(k=0;k<200;i++)
{
if(d[i]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(i=0;i<m;i++)
{
c=0;
int d[200]={0};
for(j=i;j<m;j++)
{
c++;
d[S[j]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(S);
int ch(int d[])
{
int k;
for(k=0;k<200;i++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(j=i;j<m;j++)
{
c++;
d[S[j]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(S);
int ch(int d[])
{
int k;
for(k=0;k<200;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,j,c,h;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(j=k;j<m;j++)
{
c++;
d[S[j]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(S);
int ch(int d[])
{
int k;
for(k=0;k<200;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c,h;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(j=k;j<m;j++)
{
c++;
d[S[j]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(S);
int ch(int d[])
{
int k;
for(k=0;k<200;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c,h;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(l=k;l<m;l++)
{
c++;
d[S[j]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(S);
int ch(int d[])
{
int k;
for(k=0;k<200;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c,h;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(l=k;l<m;l++)
{
c++;
d[S[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(S);
int ch(int d[])
{
int k;
for(k=0;k<200;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c,h;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(l=k;l<m;l++)
{
c++;
d[S[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
func.c: In function 'solution': func.c:3:10: error: 'S' undeclared (first use in this function) m=strlen(S); ^ func.c:3:10: note: each undeclared identifier is reported only once for each function it appears in func.c:14:14: warning: unused variable 'h' [-Wunused-variable] int ma=0,l,c,h; ^
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<200;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c,h;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<200;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c,h;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<200;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<2;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<50;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[200]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<50;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[50]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<50;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[50]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<100;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[100]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<100;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[100]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<100;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[100]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<100;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[100]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<100;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[100]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
int solution(char *s){
int m,k;
m=strlen(s);
int ch(int d[])
{
int k;
for(k=0;k<100;k++)
{
if(d[k]%2!=0)
return 0;
}
return 1;
}
int ma=0,l,c;
for(k=0;k<m;k++)
{
c=0;
int d[100]={0};
for(l=k;l<m;l++)
{
c++;
d[s[l]-'0']++;
if(ch(d)==1)
{
if(c>ma)
ma=c;
}
}
}
return ma;
}
The following issues have been detected: timeout errors.
long blocks of same letters, N <= 100,000
running time: >6.00 sec., time limit: 0.10 sec.
most characters in substring, N <= 100,000
running time: >6.00 sec., time limit: 0.10 sec.
random strings, all characters, N <= 100,000
running time: >6.00 sec., time limit: 0.10 sec.