forked from divy-arpit/CodeSprint
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgrunt.java
More file actions
97 lines (78 loc) · 2.13 KB
/
grunt.java
File metadata and controls
97 lines (78 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import java.util.Scanner;
public class grunt {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int len = in.nextInt(), i, max = 0, tempmax = 0;
String s = in.nextLine();
s = in.nextLine();
int ch[] = new int[26];
for (i = 0; i < 26; i++)
ch[i] = 0;
char ch2;
int j;
for (i = 0; i < len; i++) // counter
{
ch2 = s.charAt(i);
ch[(int) ch2 - 97]++;
}
for (i = 0; i < 25; i++) {
for (j = i + 1; j < 26; j++) {
if (ch[i] != 0 && ch[j] != 0) {
tempmax = newword((char) (i + 97), (char) (j + 97), s);
}
if (max < tempmax)
max = tempmax;
}
}
System.out.println(max);
}
public static int newword(char ch1, char ch2, String s) {
int len = s.length();
char ch3, ch4 = ')', ch5 = '0', swap;
boolean b = true,finals=true;
StringBuffer s2 = new StringBuffer(s);
while (b) {
for (int i = 0; i < len; i++) {
ch3 = s2.charAt(i);
if (ch3 == ch1 || ch3 == ch2) {
ch4 = ch3;
b = false;
break;
}
}
if (ch4 == ch1)
ch5 = ch2;
else
ch5 = ch1;
}
for (int i = 0; i < len; i++) {
ch3 = s2.charAt(i);
if (ch3 == ch1 || ch3 == ch2)
continue;
else {
s2.delete(i, i + 1);
len = s2.length();
i--;
}
}
for(int i=0;i<s2.length();i++)
{
ch3=s2.charAt(i);
if(ch4==ch3) {
swap=ch4;
ch4=ch5;
ch5=swap;
continue;
}
else
{
finals=false;
break;
}
}
if(finals)
return s2.length();
else
return 0;
}
}