diff options
Diffstat (limited to 'challenge-191/mohammad-anwar/java/theweeklychallenge/TwiceLargest.java')
| -rw-r--r-- | challenge-191/mohammad-anwar/java/theweeklychallenge/TwiceLargest.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/challenge-191/mohammad-anwar/java/theweeklychallenge/TwiceLargest.java b/challenge-191/mohammad-anwar/java/theweeklychallenge/TwiceLargest.java new file mode 100644 index 0000000000..5ee4cdde29 --- /dev/null +++ b/challenge-191/mohammad-anwar/java/theweeklychallenge/TwiceLargest.java @@ -0,0 +1,52 @@ +package theweeklychallenge; + +/* + +Week 191: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-191 + +Task #1: Twice Largest + + You are given list of integers, @list. + + Write a script to find out whether the largest item in the list + is at least twice as large as each of the other items. + +Compile and Run: + + mohammad-anwar/java$ javac theweeklychallenge/TwiceLargest.java + mohammad-anwar/java$ java theweeklychallenge.TwiceLargest + +*/ + +import java.util.Arrays; +import junit.framework.TestCase; +import static junit.framework.Assert.*; + +public class TwiceLargest extends TestCase { + + public static void main(String[] args) { + junit.textui.TestRunner.run( + theweeklychallenge.TwiceLargest.class + ); + } + + public void testTwiceLargest() { + assertEquals(twiceLargest(new int[]{1, 2, 3, 4}), -1); + assertEquals(twiceLargest(new int[]{1, 2, 0, 5}), 1); + assertEquals(twiceLargest(new int[]{2, 6, 3, 1}), 1); + assertEquals(twiceLargest(new int[]{4, 5, 2, 3}), -1); + } + + public static int twiceLargest(int[] array) { + Arrays.sort(array); + int max = array[array.length-1]; + for(int i : array) { + if (i == max) { continue; } + if (i * 2 > max) { return -1; }; + } + + return 1; + } +} |
