Browse Source

submission

Rachelle 6 years ago
parent
commit
e0e72963ff

BIN
.DS_Store View File


+ 1
- 0
.idea/.name View File

@@ -0,0 +1 @@
1
+FundamentalDrills-Part1

+ 16
- 0
.idea/compiler.xml View File

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="CompilerConfiguration">
4
+    <annotationProcessing>
5
+      <profile name="Maven default annotation processors profile" enabled="true">
6
+        <sourceOutputDir name="target/generated-sources/annotations" />
7
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
8
+        <outputRelativeToContentRoot value="true" />
9
+        <module name="FundamentalDrills-Part1" />
10
+      </profile>
11
+    </annotationProcessing>
12
+    <bytecodeTargetLevel>
13
+      <module name="FundamentalDrills-Part1" target="1.5" />
14
+    </bytecodeTargetLevel>
15
+  </component>
16
+</project>

+ 13
- 0
.idea/misc.xml View File

@@ -0,0 +1,13 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="MavenProjectsManager">
4
+    <option name="originalFiles">
5
+      <list>
6
+        <option value="$PROJECT_DIR$/pom.xml" />
7
+      </list>
8
+    </option>
9
+  </component>
10
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
11
+    <output url="file://$PROJECT_DIR$/classes" />
12
+  </component>
13
+</project>

+ 8
- 0
.idea/modules.xml View File

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ProjectModuleManager">
4
+    <modules>
5
+      <module fileurl="file://$PROJECT_DIR$/FundamentalDrills-Part1.iml" filepath="$PROJECT_DIR$/FundamentalDrills-Part1.iml" />
6
+    </modules>
7
+  </component>
8
+</project>

+ 6
- 0
.idea/vcs.xml View File

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="VcsDirectoryMappings">
4
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+  </component>
6
+</project>

+ 16
- 0
FundamentalDrills-Part1.iml View File

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5">
4
+    <output url="file://$MODULE_DIR$/target/classes" />
5
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
6
+    <content url="file://$MODULE_DIR$">
7
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
9
+      <excludeFolder url="file://$MODULE_DIR$/target" />
10
+    </content>
11
+    <orderEntry type="inheritedJdk" />
12
+    <orderEntry type="sourceFolder" forTests="false" />
13
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
14
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
15
+  </component>
16
+</module>

+ 77
- 8
src/main/java/io/zipcoder/ArrayDrills.java View File

@@ -1,5 +1,7 @@
1 1
 package io.zipcoder;
2 2
 
3
+import java.util.Arrays;
4
+
3 5
 public class ArrayDrills {
4 6
 
5 7
 
@@ -10,7 +12,12 @@ public class ArrayDrills {
10 12
      *           firstLast(6, [1,2,3]); // Should return false
11 13
      */
12 14
     public Boolean firstLast(Integer value, Integer[] input){
13
-        return null;
15
+        int first = input[0];
16
+        int last = input[input.length-1];
17
+        boolean containsValue = false;
18
+        if(value == first || value == last){
19
+            containsValue = true;}
20
+        return containsValue;
14 21
     }
15 22
 
16 23
     /**
@@ -19,7 +26,13 @@ public class ArrayDrills {
19 26
      *           sameFirstLast([1,2,1]); // Should return true
20 27
      */
21 28
     public Boolean sameFirstLast(Integer[] input){
22
-        return null;
29
+        int first = input[0];
30
+        int last = input[input.length-1];
31
+        boolean meetsCondition = false;
32
+        if (input.length>1 && (first ==last)){
33
+            meetsCondition = true;
34
+        }
35
+        return  meetsCondition;
23 36
     }
24 37
 
25 38
 
@@ -30,7 +43,10 @@ public class ArrayDrills {
30 43
      *           commonEnd([1, 2, 3], [7, 3, 2]); // Should return false
31 44
      */
32 45
     public Boolean commonEnd(Integer[] input1, Integer[] input2){
33
-        return null;
46
+        boolean meetsCondition = false;
47
+        if(input1[0] == input2[0]){meetsCondition = true;}
48
+        else if (input1[input1.length-1]==input2[input2.length-1]){meetsCondition = true;}
49
+        return meetsCondition;
34 50
     }
35 51
 
36 52
     /**
@@ -39,7 +55,12 @@ public class ArrayDrills {
39 55
      *           rotateLeft([5, 11, 9]); // Should return [11,9,5]
40 56
      */
41 57
     public Integer[] rotateLeft(Integer[] input){
42
-        return null;
58
+        int placeholder = input[0];
59
+        for (int i = 1; i < input.length; i++){
60
+            input[i-1] = input[i];
61
+        }
62
+        input[input.length-1] = placeholder;
63
+        return input;
43 64
     }
44 65
 
45 66
 
@@ -50,7 +71,14 @@ public class ArrayDrills {
50 71
      *           maxValue([5, 11, 9]); // Should return [11,11,11]
51 72
      */
52 73
     public Integer[] maxValue(Integer[] input){
53
-        return null;
74
+        int max = 0;
75
+        for(Integer element: input){
76
+            if(element > max){
77
+                max = element;
78
+            }
79
+        }
80
+        Arrays.fill(input, max);
81
+        return input;
54 82
     }
55 83
 
56 84
 
@@ -61,17 +89,53 @@ public class ArrayDrills {
61 89
      *           middleWay([5, 1, 2, 9], [3, 4, 5, 5]); // Should return [3, 9]
62 90
      */
63 91
     public Integer[] middleWay(Integer[] input1, Integer[] input2){
64
-        return null;
92
+        Integer[] newArray = new Integer[2];
93
+        newArray[0] = middleValuesSumAnyLength(input1);
94
+        newArray[1] = middleValuesSumAnyLength(input2);
95
+        return  newArray;
65 96
     }
66 97
 
98
+    public boolean arrayLenthIsEven(Integer[] array){
99
+        boolean isEven = false;
100
+        if(array.length%2 == 0)
101
+            isEven = true;
102
+        return isEven;
103
+    }
67 104
 
105
+    public Integer middleValuesSumIfArrayIsEven(Integer[] array){
106
+        int leftOfMiddle = array[array.length/2];
107
+        int rightOfMiddle = array[array.length/2-1];
108
+        return leftOfMiddle+rightOfMiddle;
109
+    }
110
+
111
+    public Integer middleValueIfArrayIsOdd(Integer[] array){
112
+        return array[(array.length-1)/2];
113
+    }
114
+
115
+    public Integer middleValuesSumAnyLength(Integer[] array){
116
+        Integer middleValue = 0;
117
+        if (arrayLenthIsEven(array)){
118
+            middleValue = middleValuesSumIfArrayIsEven(array);
119
+        }else{
120
+            middleValue = array[(array.length-1)/2];
121
+        }
122
+        return middleValue;
123
+    }
68 124
     /**
69 125
      * Start with 2 int arrays, a and b, each length 2.
70 126
      * Consider the sum of the values in each array.
71 127
      * Return the array which has the largest sum. In event of a tie, return a.
72 128
      */
73 129
     public Integer[] biggerTwo(Integer[] a, Integer[] b){
74
-        return null;
130
+        Integer[] largerArray = a;
131
+        if(sumOfArraySize2(b)>sumOfArraySize2(a)){
132
+            largerArray = b;
133
+        }
134
+        return  largerArray;
135
+    }
136
+
137
+    public Integer sumOfArraySize2(Integer[] array){
138
+        return array[0]+array[1];
75 139
     }
76 140
 
77 141
     /**
@@ -81,6 +145,11 @@ public class ArrayDrills {
81 145
      *           midThree([8, 6, 7, 5, 3, 0, 9]); // Should return [7, 5, 3]
82 146
      */
83 147
     public Integer[] midThree(Integer[] nums){
84
-        return null;
148
+        Integer[] newArray = new Integer[3];
149
+        int lastIndex = (nums.length+1)/2;
150
+        for(int i = 0;i < newArray.length;i++, lastIndex++){
151
+            newArray[i] = nums[lastIndex-2];
152
+        }
153
+        return newArray;
85 154
     }
86 155
 }

+ 1
- 1
src/test/java/io/zipcoder/ArrayDrillsTest.java View File

@@ -179,7 +179,7 @@ public class ArrayDrillsTest {
179 179
     public void biggerTwo3(){
180 180
         Integer[] inputArray1 = {-1 ,20};
181 181
         Integer[] inputArray2 = {2, 15};
182
-        Integer[] expected = {1,20};
182
+        Integer[] expected = {-1,20};
183 183
         Integer[] actual = arrayDrills.biggerTwo(inputArray1, inputArray2);
184 184
         Assert.assertArrayEquals(expected, actual);
185 185
     }

BIN
target/classes/io/zipcoder/ArrayDrills.class View File


BIN
target/test-classes/io/zipcoder/ArrayDrillsTest.class View File