a series of problems to prove your array knowledge. you use the information in the docs folder only, NO GOOGLE on this lab.

Arraz.java 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. import java.util.*;
  2. import java.util.stream.Stream;
  3. public class Arraz {
  4. public int sumValuesOfArray(int[] intArr){
  5. int sum = 0;
  6. for (int i = 0; i <intArr.length ; i++) {
  7. sum += intArr[i];
  8. }
  9. return sum;
  10. }
  11. public double sumDoublesOfArray(double[] dbArr){
  12. double sum = 0.0;
  13. for (int i = 0; i < dbArr.length; i++) {
  14. sum += dbArr[i];
  15. }
  16. return sum;
  17. }
  18. public int averageOfArray(int[] intArr){
  19. return sumValuesOfArray(intArr) / intArr.length;
  20. }
  21. public double averageDoubleOfArray(double[] dbArr){
  22. return sumDoublesOfArray(dbArr) / dbArr.length;
  23. }
  24. public boolean containsValue(int[] intArr, int value){
  25. for (int anIntArr : intArr) {
  26. if (anIntArr == value) {
  27. return true;
  28. }
  29. }
  30. return false;
  31. }
  32. public int[] reverseArray(int[] intArr){
  33. int[] newArr = new int[intArr.length];
  34. int count = 0;
  35. for (int i = intArr.length-1; i >= 0; i--) {
  36. newArr[count] = intArr[i];
  37. count++;
  38. }
  39. return newArr;
  40. }
  41. public Integer countOdds(Integer[] intArr){
  42. Integer odds = 0;
  43. for (int i = 0; i < intArr.length; i++) {
  44. if (intArr[i] % 2 != 0){
  45. odds++;
  46. }
  47. }
  48. return odds;
  49. }
  50. public Integer countEvens(Integer[] intArr){
  51. Integer evens = 0;
  52. for (int i = 0; i < intArr.length; i++) {
  53. if(intArr[i] % 2 == 0){
  54. evens++;
  55. }
  56. }
  57. return evens;
  58. }
  59. public int countOdds(int[] intArr){
  60. int odds = 0;
  61. for (int i = 0; i < intArr.length; i++) {
  62. if (intArr[i] % 2 != 0){
  63. odds++;
  64. }
  65. }
  66. return odds;
  67. }
  68. public int countEvens(int[] intArr){
  69. int evens = 0;
  70. for (int i = 0; i < intArr.length; i++) {
  71. if(intArr[i] % 2 == 0){
  72. evens++;
  73. }
  74. }
  75. return evens;
  76. }
  77. public int[] getOddEvensOfArray(int[] intArr){
  78. int odds = countOdds(intArr);
  79. int evens = countEvens(intArr);
  80. int[] newArr = new int[]{odds, evens};
  81. return newArr;
  82. }
  83. public int findIndexOf(int[] intArr, int value){
  84. int index = 0;
  85. for (int i = 0; i <intArr.length ; i++) {
  86. if(intArr[i] == value){
  87. index = i;
  88. }
  89. }
  90. return index;
  91. }
  92. public Integer[] copyArrayByIterator(Integer[] intArr, Integer[] copyArr){
  93. Iterator<Integer> list = Arrays.asList(intArr).iterator();
  94. int c = 0;
  95. while (list.hasNext()){
  96. copyArr[c] = list.next();
  97. c++;
  98. }
  99. return copyArr;
  100. }
  101. public int[] copyArrayByLoop(int[] intArr, int[] copyArr){
  102. for (int i = 0; i <intArr.length ; i++) {
  103. copyArr[i] = intArr[i];
  104. }
  105. return copyArr;
  106. }
  107. public int[] removeElementFromArray(int[] intArr, int valueToRemove){
  108. int[] newArr = new int[intArr.length - 1];
  109. for (int i = 0; i < intArr.length - 1; i++) {
  110. if(intArr[i] != valueToRemove){
  111. newArr[i] = intArr[i];
  112. }
  113. }
  114. return newArr;
  115. }
  116. public void insertIntoArrayAt(int[] intArr,int value, int index){
  117. intArr[index] = value;
  118. }
  119. public int[] findMaxMinOfArray(int[] intArr){
  120. int min = 0;
  121. int max = 0;
  122. Arrays.sort(intArr);
  123. min = intArr[0];
  124. max = intArr[intArr.length-1];
  125. int[] minMax = new int[]{min, max};
  126. return minMax;
  127. }
  128. public Integer[] removeDupeFromArray(Integer[] arr) {
  129. Arrays.sort(arr);
  130. ArrayList<Integer> temp = new ArrayList<>();
  131. temp.add(arr[0]);
  132. for (int i = 1; i < arr.length; i++) {
  133. if(!arr[i -1].equals(arr[i])){
  134. temp.add(arr[i]);
  135. }
  136. }
  137. Integer[] newArr = new Integer[temp.size()];
  138. newArr = temp.toArray(new Integer[temp.size()]);
  139. return newArr;
  140. }
  141. public double find2ndLargestValueFromArray(double[] dbArr){
  142. Arrays.sort(dbArr);
  143. return dbArr[dbArr.length - 2];
  144. }
  145. public ArrayList makeMeAnArrayListFromArray(int[] intArr){
  146. ArrayList<Integer> list = new ArrayList<>();
  147. for (int i = 0; i < intArr.length; i++) {
  148. list.add(intArr[i]);
  149. }
  150. return list;
  151. }
  152. public Object[] makeMeAnArrayFromArrayList(ArrayList list){
  153. return list.stream().toArray(Integer::new);
  154. }
  155. public boolean check2ArraysForEqual(int[] arr1, int[]arr2){
  156. return Arrays.equals(arr1, arr2);
  157. }
  158. public int averageArrayWithoutMaxMin(int[] arr){
  159. int sum = 0;
  160. Arrays.sort(arr);
  161. for (int i = 1; i < arr.length - 1; i++) {
  162. sum += arr[i];
  163. }
  164. return sum/(arr.length-2);
  165. }
  166. public boolean arrayHas65and77(int[] arr){
  167. ArrayList<Integer> list = new ArrayList<>();
  168. for (int anArr : arr) {
  169. list.add(anArr);
  170. }
  171. return list.contains(65) && list.contains(77);
  172. }
  173. public boolean theTotalofTensIs30(int[] arr){
  174. int sumOfTens = 0;
  175. for (int anArr : arr) {
  176. if (anArr == 10) {
  177. sumOfTens += anArr;
  178. }
  179. }
  180. return sumOfTens == 30;
  181. }
  182. public int[] twoSmallestInArray(int[] arr){
  183. Arrays.sort(arr);
  184. return new int[]{arr[0], arr[1]};
  185. }
  186. public Integer[] makeMeACopyPlease(Integer[] arr){
  187. Integer[] newArr = new Integer[arr.length];
  188. Integer count = 0;
  189. for (int i = arr.length-1; i >= 0; i--) {
  190. newArr[count] = arr[i];
  191. count++;
  192. }
  193. return newArr;
  194. }
  195. public Integer[] removeLastItemAndCopy(Integer[] arr){
  196. Integer[] arr1 = new Integer[arr.length-1];
  197. for (int i = 0; i <arr.length-1; i++) {
  198. arr1[i] = arr[i];
  199. }
  200. return arr1;
  201. }
  202. public Integer[] removeFirstItemAndCopy(Integer[] arr){
  203. Integer[] arr1 = new Integer[arr.length-1];
  204. int c =0;
  205. for (int i = 1; i <arr.length; i++) {
  206. arr1[c] = arr[i];
  207. c++;
  208. }
  209. return arr1;
  210. }
  211. public Integer[] insertAtStartAndCopy(Integer[] arr, Integer number){
  212. Integer[] arr1 = new Integer[arr.length + 1];
  213. arr1[0] = number;
  214. int c = 1;
  215. for (int i = 0; i < arr.length; i++) {
  216. arr1[c] = arr[i];
  217. c++;
  218. }
  219. return arr1;
  220. }
  221. public Integer[] insertAtEndAndCopy(Integer[] arr, Integer number){
  222. Integer[] newArr = Arrays.copyOf(arr, arr.length+1);
  223. newArr[arr.length] = number;
  224. return newArr;
  225. }
  226. public Integer[] evensArray(Integer[] arr){
  227. Integer[] evensArr = new Integer[countEvens(arr)];
  228. int c = 0;
  229. for (int i = 0; i < arr.length; i++) {
  230. if (arr[i] % 2 == 0){
  231. evensArr[c] = arr[i];
  232. c++;
  233. }
  234. }
  235. return evensArr;
  236. }
  237. public Integer[] oddsArray(Integer[] arr){
  238. Integer[] oddsArr = new Integer[countOdds(arr)];
  239. int c = 0;
  240. for (int i = 0; i < arr.length; i++) {
  241. if (arr[i] % 2 != 0){
  242. oddsArr[c] = arr[i];
  243. c++;
  244. }
  245. }
  246. return oddsArr;
  247. }
  248. public Integer[] mergeArrays(Integer[] arr1, Integer[] arr2){
  249. return Stream.concat(Arrays.stream(arr1), Arrays.stream(arr2))
  250. .toArray(Integer[]::new);
  251. }
  252. public Integer[] sortArrayIntoEvensThenOdds(Integer[] arr){
  253. Integer[] newArr = evensArray(arr);
  254. Integer[] newArr2 = oddsArray(arr);
  255. return mergeArrays(newArr, newArr2);
  256. }
  257. }