From 2005871330d12c658f56e2f49bbbf3e50fcfef9f Mon Sep 17 00:00:00 2001 From: Leonid Date: Thu, 3 Apr 2025 11:10:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B8=20medium?= =?UTF-8?q?=20=D1=81=20HH=20(=D0=B4=D0=B2=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B2?= =?UTF-8?q?=D1=8B=D1=85)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/algos/hh/{ => easy}/LogProcessor.java | 2 +- .../algos/hh/{ => easy}/ShapeCalculator.java | 2 +- .../java/com/algos/hh/medium/Palindrome.java | 28 ++++++++++++++++ .../com/algos/hh/medium/TemperatureDrops.java | 33 +++++++++++++++++++ 4 files changed, 63 insertions(+), 2 deletions(-) rename src/main/java/com/algos/hh/{ => easy}/LogProcessor.java (98%) rename src/main/java/com/algos/hh/{ => easy}/ShapeCalculator.java (98%) create mode 100644 src/main/java/com/algos/hh/medium/Palindrome.java create mode 100644 src/main/java/com/algos/hh/medium/TemperatureDrops.java diff --git a/src/main/java/com/algos/hh/LogProcessor.java b/src/main/java/com/algos/hh/easy/LogProcessor.java similarity index 98% rename from src/main/java/com/algos/hh/LogProcessor.java rename to src/main/java/com/algos/hh/easy/LogProcessor.java index dab00ed..af0f26c 100644 --- a/src/main/java/com/algos/hh/LogProcessor.java +++ b/src/main/java/com/algos/hh/easy/LogProcessor.java @@ -1,4 +1,4 @@ -package com.algos.hh; +package com.algos.hh.easy; //Обработка логов // Вы работаете над системой анализа логов. Вам нужно разработать компонент для обработки и анализа строк. Этот компонент должен выполнять следующие операции: diff --git a/src/main/java/com/algos/hh/ShapeCalculator.java b/src/main/java/com/algos/hh/easy/ShapeCalculator.java similarity index 98% rename from src/main/java/com/algos/hh/ShapeCalculator.java rename to src/main/java/com/algos/hh/easy/ShapeCalculator.java index 66e71a4..8aca18a 100644 --- a/src/main/java/com/algos/hh/ShapeCalculator.java +++ b/src/main/java/com/algos/hh/easy/ShapeCalculator.java @@ -1,4 +1,4 @@ -package com.algos.hh; +package com.algos.hh.easy; //Площадь и периметр // Вы разрабатываете программу для обработки информации о фигурах на плоскости. Вам необходимо создать класс, который будет вычислять площадь и периметр фигуры. Программа работает с двумя типами фигур — круг и квадрат. diff --git a/src/main/java/com/algos/hh/medium/Palindrome.java b/src/main/java/com/algos/hh/medium/Palindrome.java new file mode 100644 index 0000000..0471479 --- /dev/null +++ b/src/main/java/com/algos/hh/medium/Palindrome.java @@ -0,0 +1,28 @@ +package com.algos.hh.medium; + +import java.util.Locale; + +public class Palindrome { + public static void main(String[] args) { + + System.out.println(checkPalindrome("Тут как тут")); + System.out.println(checkPalindrome("Программист")); + System.out.println(checkPalindrome("Шалаш")); + + } + + public static String checkPalindrome(String input) { + + input = input.trim().toLowerCase(Locale.ROOT); + for (int i = 0; i < input.length() / 2; i++) { + if (input.charAt(i) == ' ') { + continue; + } + if (input.charAt(i) != input.charAt(input.length() - 1 - i)) { + return "Не палиндром"; + } + } + + return "Палиндром"; + } +} diff --git a/src/main/java/com/algos/hh/medium/TemperatureDrops.java b/src/main/java/com/algos/hh/medium/TemperatureDrops.java new file mode 100644 index 0000000..2ead07f --- /dev/null +++ b/src/main/java/com/algos/hh/medium/TemperatureDrops.java @@ -0,0 +1,33 @@ +package com.algos.hh.medium; + +public class TemperatureDrops { + public static void main(String[] args) { + + System.out.println(findDrops("0 5 2 7 4 1")); + System.out.println(findDrops("10 8 6 4 2 0 -2 -4")); + } + + public static String findDrops(String input) { + + String[] sourceArray = input.split(" "); + Integer[] destArray = new Integer[sourceArray.length]; + for (int i = 0; i < sourceArray.length; i++) { + destArray[i] = Integer.parseInt(sourceArray[i]); + } + StringBuilder sb = new StringBuilder(); + + for (int i = 1; i < destArray.length ; i++) { + int prev = destArray[i - 1]; + int curr = destArray[i]; + if (Math.abs(prev) - Math.abs(curr) >= 3) { + sb.append(i).append(" "); + } + } + + if (!sb.isEmpty()) { + return sb.toString().trim(); + } + + return "Нет"; + } +} \ No newline at end of file