Thursday, May 1, 2014

Arrange number in array such that positive and negative occur alternate

Problem Statement: Arrange number in array such that positive and negative occur alternately. And continuous numbers positive or negative should be summed up


public class Consolidate {
    static int arr[] = {3, -6, 10, 4, 7, -6, -5, 4, -1};

 public static void main(String[] args) {
  int j = 0;
  int ord = (arr[0] > 0)? 0 : 1;
  int sum = 0;
  for (int i=0;i<arr.length;i++){
   if ( (arr[i] >0 && ord == 0) || (arr[i] < 0 && ord == 1)){
    sum = sum + arr[i];
   }else{
    ord = (ord+1)%2;
    arr[j++] = sum;
    sum = arr[i];
   }
  }
  arr[j++]= sum;
  for (int i=0;i<j;i++){
   System.out.println(arr[i] + " ");
  }
 }

}

No comments:

Post a Comment