diff options
Diffstat (limited to 'challenge-241/deadmarshal/java')
| -rw-r--r-- | challenge-241/deadmarshal/java/Ch1.java | 28 | ||||
| -rw-r--r-- | challenge-241/deadmarshal/java/Ch2.java | 35 |
2 files changed, 63 insertions, 0 deletions
diff --git a/challenge-241/deadmarshal/java/Ch1.java b/challenge-241/deadmarshal/java/Ch1.java new file mode 100644 index 0000000000..f4ae47bca6 --- /dev/null +++ b/challenge-241/deadmarshal/java/Ch1.java @@ -0,0 +1,28 @@ +import java.util.ArrayList; +import java.util.List; + +public class Ch1 { + public static void main(String[] args) { + ArrayList<Integer> list1 = + new ArrayList<>(List.of(0,1,4,6,7,10)); + ArrayList<Integer> list2 = + new ArrayList<>(List.of(4,5,6,7,8,9)); + System.out.println(arithmetic_triplets(list1,3)); + System.out.println(arithmetic_triplets(list2,2)); + } + + private static int arithmetic_triplets(List<Integer> list,int diff){ + int count = 0; + for(int i = 0; i < list.size(); ++i) { + for(int j = i+1; j < list.size(); ++j) { + for(int k = j+1; k < list.size(); ++k) { + if((list.get(j) - list.get(i) == diff) && + (list.get(k) - list.get(j) == diff)) + count++; + } + } + } + return count; + } +} + diff --git a/challenge-241/deadmarshal/java/Ch2.java b/challenge-241/deadmarshal/java/Ch2.java new file mode 100644 index 0000000000..e810fe1429 --- /dev/null +++ b/challenge-241/deadmarshal/java/Ch2.java @@ -0,0 +1,35 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.Comparator; + +public class Ch2 { + public static void main(String[] args) { + ArrayList<Integer> list = new ArrayList<>(List.of(11,8,27,4)); + prime_order(list); + System.out.println(list); + } + + private static int count_factors(int n) { + int c = 2,count = 0; + while(n > 1) { + if(n % c == 0) { + n /= c; + count++; + } + else c++; + } + return count; + } + + private static void prime_order(List<Integer> list) { + list.sort(new Comparator<Integer>() { + @Override + public int compare(Integer a, Integer b) { + int fa = count_factors(a); + int fb = count_factors(b); + return fa == fb ? Integer.compare(a,b) : + Integer.compare(fa,fb); + }}); + } +} + |
