fork(7) download
  1. import java.util.*;
  2. public class Main {
  3. public static void main(String[] args) {
  4. int[][] tests = {
  5. {2,4,2,4},
  6. {3,7,3,7, 2, 1, 2},
  7. {1,5,6,0,1,0},
  8. {7,-5,-5,-5,7,-1,7},
  9. {7,-5,-5,-5,-5,-5,7,-1,7,-1,7,-1},
  10. {1,1,1,1,1,1,1,1,1,1,1,1}
  11. };
  12.  
  13. for(int i=0;i<tests.length;++i){
  14. System.out.println(Arrays.toString(tests[i]) + " => " + solve(tests[i]));
  15. }
  16. }
  17.  
  18. private static int solve(int[] arr){
  19. if(arr.length == 1) return 1;
  20. int even = arr[0],odd = arr[1];
  21. int start = 0,max_len = 0;
  22. for(int i=2;i<arr.length;++i){
  23. if(i%2 == 0 && arr[i] != even || i%2 == 1 && arr[i] != odd){
  24. max_len = Math.max(max_len,i - start);
  25. start = i-1;
  26. if(i%2 == 0){
  27. even = arr[i];
  28. odd = arr[i-1];
  29. }else{
  30. even = arr[i-1];
  31. odd = arr[i];
  32. }
  33. }
  34. }
  35.  
  36.  
  37. return Math.max(max_len,arr.length - start);
  38. }
  39. }
Success #stdin #stdout 0.13s 35864KB
stdin
Standard input is empty
stdout
[2, 4, 2, 4] => 4
[3, 7, 3, 7, 2, 1, 2] => 4
[1, 5, 6, 0, 1, 0] => 3
[7, -5, -5, -5, 7, -1, 7] => 3
[7, -5, -5, -5, -5, -5, 7, -1, 7, -1, 7, -1] => 6
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] => 12