From 95de82b0c9ec676c977b915eba4bb778247b513c Mon Sep 17 00:00:00 2001 From: AetbaevaJulia Date: Thu, 12 Dec 2024 00:54:49 +0500 Subject: [PATCH 1/5] =?UTF-8?q?=D0=90=D0=B5=D1=82=D0=B1=D0=B0=D0=B5=D0=B2?= =?UTF-8?q?=D0=B0=20=D0=AE=D0=BB=D0=B8=D1=8F.=20=D0=97=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task01/src/com/example/task01/Task01Main.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index de4599c1..55d6aa85 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -1,21 +1,16 @@ package com.example.task01; import java.io.IOException; +import java.util.Objects; import java.util.function.Function; import java.util.function.Predicate; public class Task01Main { public static void main(String[] args) throws IOException { - - // TODO С корректно реализованным методом ternaryOperator должен компилироваться и успешно работать следующий код: - - /* Predicate condition = Objects::isNull; Function ifTrue = obj -> 0; Function ifFalse = CharSequence::length; Function safeStringLength = ternaryOperator(condition, ifTrue, ifFalse); - */ - } public static Function ternaryOperator( @@ -23,7 +18,9 @@ public static Function ternaryOperator( Function ifTrue, Function ifFalse) { - return null; // your implementation here - + if (condition == null || ifFalse == null || ifTrue == null){ // проверка на null + throw new NullPointerException(); + } + return x -> condition.test(x) ? ifTrue.apply(x) : ifFalse.apply(x); } } From 4c66f9bbc1ffb6c565d0a475d7baff714485850b Mon Sep 17 00:00:00 2001 From: AetbaevaJulia Date: Thu, 12 Dec 2024 00:55:12 +0500 Subject: [PATCH 2/5] =?UTF-8?q?=D0=90=D0=B5=D1=82=D0=B1=D0=B0=D0=B5=D0=B2?= =?UTF-8?q?=D0=B0=20=D0=AE=D0=BB=D0=B8=D1=8F.=20=D0=97=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task02/src/com/example/task02/Task02Main.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index 309260d8..47feba6e 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -5,19 +5,19 @@ public class Task02Main { public static void main(String[] args) { - - /* cycleGrayCode(2) .limit(10) .forEach(System.out::println); - */ + } + public static int GetGrayCode(int g){ + return g ^ (g >> 1); // формула с википедии } public static IntStream cycleGrayCode(int n) { - - return null; // your implementation here - + if (n >= 1 && n <= 16){ // Битность кодов задается аргументом n в пределах от 1 до 16. + return IntStream.iterate(0, g -> g + 1).map(g -> GetGrayCode(g % (int)Math.pow(2, n))); + } + throw new IllegalArgumentException(); // ошибка, если n не лежит в [1, 16] } - } From af3c83144d2139c664ea6aa37d3734c64956891c Mon Sep 17 00:00:00 2001 From: AetbaevaJulia Date: Thu, 12 Dec 2024 00:55:29 +0500 Subject: [PATCH 3/5] =?UTF-8?q?=D0=90=D0=B5=D1=82=D0=B1=D0=B0=D0=B5=D0=B2?= =?UTF-8?q?=D0=B0=20=D0=AE=D0=BB=D0=B8=D1=8F.=20=D0=97=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task03/src/com/example/task03/Task03Main.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/task03/src/com/example/task03/Task03Main.java b/task03/src/com/example/task03/Task03Main.java index 254d5cb0..d165b144 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -1,13 +1,13 @@ package com.example.task03; import java.util.Comparator; +import java.util.Iterator; import java.util.function.BiConsumer; import java.util.stream.Stream; public class Task03Main { public static void main(String[] args) { - findMinMax( Stream.of(2, 9, 5, 4, 8, 1, 3), Integer::compareTo, @@ -17,11 +17,19 @@ public static void main(String[] args) { } - public static void findMinMax( - Stream stream, - Comparator order, - BiConsumer minMaxConsumer) { + public static void findMinMax(Stream stream, Comparator order, + BiConsumer minMaxConsumer) { - // your implementation here + Iterator iterator = stream.iterator(); // итератор для обхода стрима + // Берем первый элемент из итератора, если он есть. Иначе - null + T element = iterator.hasNext() ? iterator.next() : null; + T max = element; + T min = element; + while(iterator.hasNext()) { + element = iterator.next(); + min = order.compare(element, min) < 0 ? element : min; + max = order.compare(element, max) > 0 ? element : max; + } + minMaxConsumer.accept(min, max); } } From 166da0351c50d86438de7d8e3647bacce21935d0 Mon Sep 17 00:00:00 2001 From: AetbaevaJulia Date: Thu, 12 Dec 2024 00:55:47 +0500 Subject: [PATCH 4/5] =?UTF-8?q?=D0=90=D0=B5=D1=82=D0=B1=D0=B0=D0=B5=D0=B2?= =?UTF-8?q?=D0=B0=20=D0=AE=D0=BB=D0=B8=D1=8F.=20=D0=97=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=204?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task04/src/com/example/task04/Task04Main.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/task04/src/com/example/task04/Task04Main.java b/task04/src/com/example/task04/Task04Main.java index 1e38e6eb..01dd0743 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -1,11 +1,32 @@ package com.example.task04; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.Comparator; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + public class Task04Main { public static void main(String[] args) { + BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in)); + + buffer.lines() + .flatMap(x -> Stream.of(x.split("\\P{L}")) // разделяем по всем символам, которые не буквы + .filter(t -> !t.isEmpty()) + .map(String::toLowerCase)) + + .collect(Collectors.groupingBy(t -> t, Collectors.counting())) + .entrySet() + .stream() - // your implementation here + .sorted(Map.Entry.comparingByKey()) + .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .limit(10) + .map(Map.Entry::getKey) + .forEach(t -> System.out.print(t + '\n')); } } From 37f2654eed44cb8a16b7c13dff6a1bfdc265a5d9 Mon Sep 17 00:00:00 2001 From: AetbaevaJulia Date: Thu, 12 Dec 2024 17:57:04 +0500 Subject: [PATCH 5/5] =?UTF-8?q?=D0=90=D0=B5=D1=82=D0=B1=D0=B0=D0=B5=D0=B2?= =?UTF-8?q?=D0=B0=20=D0=AE=D0=BB=D0=B8=D1=8F.=20=D0=97=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task05/src/com/example/task05/Task05Main.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/task05/src/com/example/task05/Task05Main.java b/task05/src/com/example/task05/Task05Main.java index ae31f6bc..450ef022 100644 --- a/task05/src/com/example/task05/Task05Main.java +++ b/task05/src/com/example/task05/Task05Main.java @@ -8,9 +8,6 @@ public class Task05Main { public static void main(String[] args) { - - /* - // Random variables String randomFrom = "..."; // Некоторая случайная строка. Можете выбрать ее самостоятельно. String randomTo = "..."; // Некоторая случайная строка. Можете выбрать ее самостоятельно. @@ -86,10 +83,6 @@ public static void main(String[] args) { assert salaries.get(salary1.getTo()).equals(Arrays.asList(1)) : "wrong salaries mailbox content (1)"; assert salaries.get(salary2.getTo()).equals(Arrays.asList(Integer.MAX_VALUE)) : "wrong salaries mailbox content (2)"; assert salaries.get(randomTo).equals(Arrays.asList(randomSalary)) : "wrong salaries mailbox content (3)"; - - - */ - } }