Advertisement
Guest User

Untitled

a guest
Jul 25th, 2014
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. A[0], A[1], ..., A[P − 1] and A[P], A[P + 1], ..., A[N − 1].
  2.  
  3. |(A[0] + A[1] + ... + A[P − 1]) − (A[P] + A[P + 1] + ... + A[N − 1])|
  4.  
  5. A[0] = 3
  6. A[1] = 1
  7. A[2] = 2
  8. A[3] = 4
  9. A[4] = 3
  10.  
  11. P = 1, difference = |3 − 10| = 7
  12. P = 2, difference = |4 − 9| = 5
  13. P = 3, difference = |6 − 7| = 1
  14. P = 4, difference = |10 − 3| = 7
  15.  
  16. // you can also use imports, for example:
  17. import java.math.*;
  18. import java.util.*;
  19. import java.lang.*;
  20. class Solution {
  21. public int solution(int[] A) {
  22. // write your code in Java SE 7
  23. int sizeOfArray = A.length;
  24. int smallest = Integer.MAX_VALUE;
  25. int result = 0;
  26. for(int i=1;i<sizeOfArray;i++){
  27. int difference = Math.abs(sumOfArray(subArray(0,i,A))-
  28. sumOfArray(subArray(i,sizeOfArray,A)));
  29. //System.out.println("difference"+difference);
  30. result = Math.min(smallest,difference);
  31. smallest = result;
  32. }
  33.  
  34. return result;
  35. }
  36.  
  37. public int sumOfArray(int[] arr) {
  38. int sum=0;
  39. for(int i:arr) {
  40. sum += i;
  41. }
  42.  
  43. return sum;
  44. }
  45.  
  46. public int[] subArray(int begin, int end, int[] array) {
  47. return Arrays.copyOfRange(array, begin, end);
  48. }
  49. }
  50.  
  51. public static int minDiff(int[] a) {
  52. int leftSum = 0, rightSum = 0;
  53. for (int ai : a) {
  54. leftSum += ai;
  55. }
  56. int minDiff = Integer.MAX_VALUE;
  57. for (int p = a.length - 1; p >= 0; p--) {
  58. rightSum += a[p];
  59. leftSum -= a[p];
  60.  
  61. int diff = Math.abs(leftSum - rightSum);
  62. if (diff == 0) {
  63. return 0;
  64. } else if (diff < minDiff) {
  65. minDiff = diff;
  66. }
  67. }
  68. return minDiff;
  69. }
  70.  
  71. public int solution(int[] A)
  72.  
  73. public int solution(int[] arrayA)
  74.  
  75. for(int i=1;i<sizeOfArray;i++)
  76.  
  77. for(int i=1; i<sizeOfArray; i++)
  78.  
  79. var A = [3,1,2,4,3];
  80.  
  81. function sumArray( array )
  82. {
  83. var sum = 0, index = array.length;
  84. while(index--)
  85. sum += array[index];
  86. return sum;
  87. }
  88.  
  89. function tapeEquilibrium( array )
  90. {
  91. var left = sumArray( array ),
  92. right = 0,
  93. smallest = left,
  94. index = array.length,
  95. difference;
  96.  
  97. while( index-- )
  98. {
  99. right += array[index];
  100. left -= array[index];
  101. difference = Math.abs( right-left );
  102. if( difference < smallest )
  103. smallest = difference;
  104. }
  105. return smallest;
  106. }
  107.  
  108. console.log( tapeEquilibrium( A ) );
  109.  
  110. public static final int tapeEquilibrium(int[] data) {
  111. if (data.length < 3) {
  112. // rules indicate 0 < P < N which implies at least 3-size array
  113. throw new IllegalStateException("Need minimum 3-size array input");
  114. }
  115. int[] sums = new int[data.length];
  116. for (int i = 1; i < sums.length; i++) {
  117. sums[i] = sums[i - 1] + data[i - 1];
  118. }
  119. int total = sums[sums.length - 1] + data[data.length - 1];
  120. int min = Integer.MAX_VALUE;
  121. for (int i = 0; i < sums.length; i++) {
  122. int diff = Math.abs((total - sums[i]) - sums[i]);
  123. if (diff == 0) {
  124. return 0;
  125. }
  126. if (diff < min) {
  127. min = diff;
  128. }
  129. }
  130. return min;
  131. }
  132.  
  133. int difference = Math.abs(sumOfArray(subArray(0,i,A))-
  134. sumOfArray(subArray(i,sizeOfArray,A)));
  135.  
  136. public int sumOfArray(int[] array, int begin, int end) {
  137. int sum = 0;
  138. for (int i = begin; i < end; i++) {
  139. sum += array[i];
  140. }
  141. return sum;
  142. }
  143.  
  144. int difference = Math.abs(sumOfArray(subArray(0,i,A))-
  145. sumOfArray(subArray(i,sizeOfArray,A)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement