Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- A[0], A[1], ..., A[P − 1] and A[P], A[P + 1], ..., A[N − 1].
- |(A[0] + A[1] + ... + A[P − 1]) − (A[P] + A[P + 1] + ... + A[N − 1])|
- A[0] = 3
- A[1] = 1
- A[2] = 2
- A[3] = 4
- A[4] = 3
- P = 1, difference = |3 − 10| = 7
- P = 2, difference = |4 − 9| = 5
- P = 3, difference = |6 − 7| = 1
- P = 4, difference = |10 − 3| = 7
- // you can also use imports, for example:
- import java.math.*;
- import java.util.*;
- import java.lang.*;
- class Solution {
- public int solution(int[] A) {
- // write your code in Java SE 7
- int sizeOfArray = A.length;
- int smallest = Integer.MAX_VALUE;
- int result = 0;
- for(int i=1;i<sizeOfArray;i++){
- int difference = Math.abs(sumOfArray(subArray(0,i,A))-
- sumOfArray(subArray(i,sizeOfArray,A)));
- //System.out.println("difference"+difference);
- result = Math.min(smallest,difference);
- smallest = result;
- }
- return result;
- }
- public int sumOfArray(int[] arr) {
- int sum=0;
- for(int i:arr) {
- sum += i;
- }
- return sum;
- }
- public int[] subArray(int begin, int end, int[] array) {
- return Arrays.copyOfRange(array, begin, end);
- }
- }
- public static int minDiff(int[] a) {
- int leftSum = 0, rightSum = 0;
- for (int ai : a) {
- leftSum += ai;
- }
- int minDiff = Integer.MAX_VALUE;
- for (int p = a.length - 1; p >= 0; p--) {
- rightSum += a[p];
- leftSum -= a[p];
- int diff = Math.abs(leftSum - rightSum);
- if (diff == 0) {
- return 0;
- } else if (diff < minDiff) {
- minDiff = diff;
- }
- }
- return minDiff;
- }
- public int solution(int[] A)
- public int solution(int[] arrayA)
- for(int i=1;i<sizeOfArray;i++)
- for(int i=1; i<sizeOfArray; i++)
- var A = [3,1,2,4,3];
- function sumArray( array )
- {
- var sum = 0, index = array.length;
- while(index--)
- sum += array[index];
- return sum;
- }
- function tapeEquilibrium( array )
- {
- var left = sumArray( array ),
- right = 0,
- smallest = left,
- index = array.length,
- difference;
- while( index-- )
- {
- right += array[index];
- left -= array[index];
- difference = Math.abs( right-left );
- if( difference < smallest )
- smallest = difference;
- }
- return smallest;
- }
- console.log( tapeEquilibrium( A ) );
- public static final int tapeEquilibrium(int[] data) {
- if (data.length < 3) {
- // rules indicate 0 < P < N which implies at least 3-size array
- throw new IllegalStateException("Need minimum 3-size array input");
- }
- int[] sums = new int[data.length];
- for (int i = 1; i < sums.length; i++) {
- sums[i] = sums[i - 1] + data[i - 1];
- }
- int total = sums[sums.length - 1] + data[data.length - 1];
- int min = Integer.MAX_VALUE;
- for (int i = 0; i < sums.length; i++) {
- int diff = Math.abs((total - sums[i]) - sums[i]);
- if (diff == 0) {
- return 0;
- }
- if (diff < min) {
- min = diff;
- }
- }
- return min;
- }
- int difference = Math.abs(sumOfArray(subArray(0,i,A))-
- sumOfArray(subArray(i,sizeOfArray,A)));
- public int sumOfArray(int[] array, int begin, int end) {
- int sum = 0;
- for (int i = begin; i < end; i++) {
- sum += array[i];
- }
- return sum;
- }
- int difference = Math.abs(sumOfArray(subArray(0,i,A))-
- sumOfArray(subArray(i,sizeOfArray,A)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement