-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMaxCounters.java
More file actions
56 lines (41 loc) · 1.14 KB
/
MaxCounters.java
File metadata and controls
56 lines (41 loc) · 1.14 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
package codility;
/*
* Score 100%
*
* https://codility.com/programmers/task/max_counters/
*/
public class MaxCounters {
public int[] solution(int N, int[] A) {
int results[] = new int[N];
int maxCounterValue=0;
for(int i =0; i<N; i++)
results[i] =0;
for(int i=0; i<A.length; i++) {
int x =A[i];
if( 1<=x && x<=N ) {
++results[x-1];
maxCounterValue = Math.max(maxCounterValue, results[x-1]);
}
else if( x == N+1) {
if( maxCounterValue !=0 ) {
for(int j =0; j<N; j++)
results[j] = maxCounterValue;
}
}
printCounters(N, results);
}
return results;
}
private void printCounters(int N, int[] results) {
System.err.print("{ ");
for(int j =0; j<N; j++) {
System.err.print(results[j]+ " ");
}
System.err.println("}");
}
public static void main(String args[])
{
MaxCounters instance = new MaxCounters();
instance.solution(5, new int[] {3, 4, 4, 6, 1, 4, 4});
}
}