title: Counting Element Permutation check
body: <p>In the codility permutation check question:</p>
  
  <pre><code>A non-empty zero-indexed array A consisting of N integers is given.
  A permutation is a sequence containing each element from 1 to N once, and only once.
  For example, array A such that:
      A[0] = 4
      A[1] = 1
      A[2] = 3
      A[3] = 2
  is a permutation, but array A such that:
      A[0] = 4
      A[1] = 1
      A[2] = 3
  is not a permutation.
  The goal is to check whether array A is a permutation.
  Write a function:
  class Solution { public int solution(int[] A); }
  that, given a zero-indexed array A, returns 1 if array A is a permutation and 0 if it is not.
  For example, given array A such that:
      A[0] = 4
      A[1] = 1
      A[2] = 3
      A[3] = 2
  the function should return 1.
  Given array A such that:
      A[0] = 4
      A[1] = 1
      A[2] = 3
  the function should return 0.
  Assume that:
  N is an integer within the range [1..100,000];
  each element of array A is an integer within the range [1..1,000,000,000].
  Complexity:
  expected worst-case time complexity is O(N);
  expected worst-case space complexity is O(N), beyond input storage (not counting the storage required for input arguments).
  </code></pre>
  
  <p>Here is my solution to it, but I have an error. I feel, I need to check for one extra condition before the code can work well. When tested with an array like this: A[4,1,3}, it returned 1 instead of 0 . What else do I need to test for to get this code to work perfectly? I am missing it because I don't see why a[]{4,1,3} is NOT a permutation and why A[] {4,1,3,2} is a permutation in the question. If anyone could explain that, I might be able to solve my problem. Now,I did modify it to work now on my eclipse,tested but on codility, I still keep getting error about the line : <code>counter[A[i]] += 1</code>; Any one knows why this is so? Something that the array is out of bound but I didn't get that error on my eclipse IDE.<br>
  Thanks</p>
  
  <pre><code>    public class Solution {
  
      /**
       * @param args
       */
  
      public static int solution(int[] A) {
          // write your code in Java SE 7
          int[] counter = new int[(A[0] * A.length)];
          int max = -1;
          int OccurBefore = -1; // store some random number for a start
  
          for (int i = 0; i &lt; A.length; i++) {
  
              if (A[i] &gt; max) {
                  max = A[i];
              } 
                  if (A[i] == OccurBefore) {
                      return 0;
                  }
  
                  if(A[i] != OccurBefore) {
                      OccurBefore = A[i];
                      counter[A[i]] += 1;
  
                  }
  
          }
  
          if(A.length&lt;max){
              return 0;
          }
  
          return 1;
      }
  
  
  
  }
  </code></pre>