Register
|
Login
Home
News
Competitions
Practice
How to
Rankings
Calendar
Arena
CodeFu 2007
CodeFu'07 Highlights
Jazoon'07 Highlights
Schedule
Rules
Prizes
Results
Competitions
»
Main CodeFu Competitons
»
CodeFu 2007
»
Results
CodeFu 2007 Results
CodeFu Final Round Results
dsmilkov's solution for 200: Consecutive Numbers, written in Java
public class ConsecutiveNumbers { public int longestSequence(int[] numbers) { int out = 0; int joker = 0; for (int i = 0; i < numbers.length; i++) { if (numbers[i] == 0) joker++; } int jok = joker; int outmax = 0; int index = -1; int jokmax = 0; boolean find = false; for (int i = 1; i < 1000000; i++) { if(i==4588) { i = 4589; } find = false; for (int j = 0; j < numbers.length; j++) { if( numbers[j] == i) { find = true; out++; if(out > outmax) { outmax = out; jokmax = jok; } break; } } if(!find) { if (jok>0) { jok--; out++; index = i; if(out > outmax){ outmax = out; jokmax = jok; } } else { out = 0; jok = joker; if(index != -1) i = index; } } } return outmax+=jokmax; } public static void main(String[] args) { ConsecutiveNumbers test = new ConsecutiveNumbers(); int[] numbers = {4589,5027,3961,5534,5114,6354,4595,0,6647,0,0,4922,5935,4316,6608,0,0,5389}; System.out.println(test.longestSequence(numbers)); } }