Сергей здравствуйте, спасибо за ваш труд, очень доступно и доходчиво объясняете, до вас не помню ни одного автора по IT чтоб смог сложные вещи объяснить просто. Благодарю за курс и успехов Вам!
Спасибо Вам, теперь я ваш подписчик, у меня трудности с учёбой, начал с нуля проходим урок по видеовебинару задают домашку, там задачи, а задачи такие даже которые не рассказывали как решать, начинаю что то делать, читать, в итоге приходится искать решение в интернете но при этом смотрю как люди, вот например на вашем примере решают, и тогда только разбираюсь как её сделать, хотя до начала решения задачи вроде бы в голове знаю как решить, а написать программу не получается, понимаю,что с нуля тяжело, может вы дадите совет, с чего вы начинали, как правильно начать. Спасибо вам большое за видео, ваш канал прям находка для меня)
К сожалению, это неизбежный этап в обучении. Нужно просто не бросать, стараться решать задачи и ждать, когда количество перейдет в качество. Мозг человека для программирования не приспособлен, ему нужно время на адаптацию, чтоб перестроиться и начать думать по компьютерному) В общем, могу посоветовать только пробовать дальше. В какой-то момент, может завтра, а может через месяц, в голове что-то переключится, и понимание появится. Хороший навык, который может помочь - научиться выполнять программу в уме. Умелый программист создает программу сначала у себя в голове, а за клавиатуру садится просто чтоб ее записать.
Приятная для глаз Dark тема оформления, как сделать чтобы переменные подчеркивались?? (Eclipse IDE for Java Developers, Version: 2018-09 (4.9.0), Build id: 20180917-180)
Добрый вечер, Сергей. Можно как-то связаться с тобой посредством ВК/Телеграм/Ватсап? Дело в том, что ты сделал всего одно видео разбора, как работает одномерный массив, я понял сразу логику как всё должно работать. Из 10 просмотренных видео, доходчивее всех объяснил - ты.
А что то типа такого: List numbers = Arrays.asList(1, 2, 3, 5, 7); Integer min = numbers.stream().reduce(Integer.MAX_VALUE, (left, right) -> left < right ? left : right);
Осмелюсь заметить, что у вас массив отсортирован по возрастанию, по этому во всем этом нет необходимости) А если серьезно, то есть именно классическая запись алгоритма, ее всегда разбирают одной из первых в курсе информатики. А с reduce - это то же алгоритм, но чтоб его показать, надо сначала объяснить, что означает такая запись, а это не так уж просто. Чтоб найти минимальный элемент в массиве, вовсе не обязательно знать о монадах и функторах)
Надо же, в школе проходят алгоритмы! Интересно, а в каком классе? Помню, у меня в школе информатика была только в 10-11 классах - с 93 по 95 год. Тогда проходили Basic и Pascal😀
Для двумерного все то же самое, только будет два цикла: по строкам и по столбцам. И надо будет запоминать не один индекс, а два, потому что два измерения. Остальное без изменений.
Это всё конечно хорошо, но не проще ли слияние сделать так? int[] merge(int[] arr1, int[] arr2) { int[] newArr = new int[arr1.length + arr2.length]; int i, j, k; i = j = k = 0; while (i < arr1.length && j < arr2.length) newArr[k++] = (arr1[i] < arr2[j]) ? arr1[i++] : arr2[j++]; while (i < arr1.length) newArr[k++] = arr1[i++]; while (j < arr2.length) newArr[k++] = arr2[j++]; return newArr; }
Сергей добрый день. Я начал изучать java. не совсем понимаю принцип работы конструкции if-else, и принцип решения задач с использованием этой конструкции. Заранее выражаю благодарность за помощь в разборе данной темы!
@@user-cx5pj3kf3r чего тут понимать. нужны реальные знания, а не сертификат. сертификат - это не знания, это оценка кого-то о знаниях. реальные знания - это умение их применять за вознаграждение в фиатной валюте. ещё проще выражаясь: уже работаете программистом?
Выдает данную ошибку: Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: . но в чем суть не понимаю все написано так же как и у вас
Можно отсортировать массив по возрастанию, от малых к большим. Тогда на первом месте будет минимальный элемент, на втором - второй по минимальности, на третьем третий и т.д. А можно два раза пройти по массиву. В первый раз найти минимальный элемент и запомнить его в переменной, а во второй, искать минимальный элемент, игнорируя найденный до этого минимальный элемент.
Ввести массив с клавиатуры можно например так: stackoverflow.com/a/8668837 Создаем Scanner, в консоли сначала печатаем число - количество элементов в массиве, сканером читаем. Потом в цикле вводим и читаем сканером элементы этого массива в нужном количестве.
import java.util.Random; import java.util.Scanner; public class MyClass { public static void main(String args[]) { Random rand = new Random(); Scanner keyboard = new Scanner(System.in); int y = keyboard.nextInt(); int t = 0; int w = 100; int [] s = new int[w]; for(int i=0; i
На предприятии нужен был андроид разработчик для создания приложения под собственные нужды, но зарплату предлагали маленькую, по этому не могли никого найти. А я про андроид разработку ничего не знал, но решил пойти на эту вакансию, и меня взяли, так как других желающих не было. Где-то месяц разбирался, потом начал уже заниматься приложением и доучиваться по ходу работы. Где-то месяца 4 ушло на приложение. Потом перешел в it компанию на зарплату в 3 раза выше.
Что значит несколько минимальных? Минимальное может быть только одно, и этот алгоритм его найдет. Если минимальное число встречается несколько раз, то алгоритм найдет положение первого из них. Если надо найти n самых маленьких чисел в массиве, то сортируем массив по возрастанию и берем из него n первых чисел.
@@arhitutorials С точки зрения оптимизации, какой алгоритм лучше? 1) За первую итерацию можно найти минимальное число. За вторую итерацию вывести на экран индексы ячеек равных минимальному числу. 2) Сортировка массива по возрастанию займёт более 2 повторений. + Одно повторение для поиска всех минимальных чисел.
Зачем нам на каждой итерации цикла переписывать переменную с минимальным значением? Лишнее усложнение, которое не даёт никаких преимуществ, а только замедляет код. Достаточно иметь только переменную, в которой хранится индекс. А уж если так хочется объявить переменную, в которой будет лежать значение, то с точки зрения оптимизации будет логичным присвоить его уже после цикла, потому что мы уже будем знать индекс минимального элемента. В таком случае, нам придется сделать это всего лишь один раз, а не переписывать на каждой итерации цикла