Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
Решаю задачу на leetcode, смысл которой в том, чтобы из целочисленного массива вывести все различные списки Integer'ов, состоящих из 3 чисел таких, что их сумма равна 0 и оформить их в виде списка, то есть будет List<List<Integer>> на выходе. Не понимаю, в чем ошибка, когда тамошний компилятор пишет такое.
<code>
class Solution
{
public List<List<Integer>> threeSum(int[] nums)
{
List<Integer> listOfIntegers = new ArrayList<>();
List<List<Integer>> list = new ArrayList<>();
int M = 0;

if(nums.length == 0)
{
return list;
}

for(int i = 0; i < nums.length - 2; i += 2)
{
for(int j = i + 1; j < nums.length - 1; j++)
{
labelK: for(int k = i + 2; k < nums.length; k++)
{
if(nums[i] + nums[j] + nums[k] == 0)
{
listOfIntegers = List.of(nums[i], nums[j], nums[k]);
list.add(listOfIntegers);
M++;
}
else { continue labelK; }
}
}
}

if(M == 1) { return list; }
else
{
for(int l = 0; l < M - 1; l++)
{
labelM: for(int m = l + 1; m < M; m++)
{
if(list.get(m).containsAll(list.get(l)))
{
list.remove(m);
M = M - 1;
}
else { continue labelM; }
}
}
}
return list;
}
}

Wrong Answer
Runtime: 0 ms
Your input
[0,0,0,0]
Output
[[0,0,0],[0,0,0]]
Expected
[[0,0,0]]

</code>
12 июл 20, 08:57    [22165921]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Sergunka
Member

Откуда: Bay Area, CA
Сообщений: 2281
Alexandrietz
Решаю задачу на leetcode, смысл которой в том, чтобы из целочисленного массива вывести все различные списки Integer'ов, состоящих из 3 чисел таких, что их сумма равна 0 и оформить их в виде списка, то есть будет List<List<Integer>> на выходе. Не понимаю, в чем ошибка, когда тамошний компилятор пишет такое.
<code>
class Solution 
{
    public List<List<Integer>> threeSum(int[] nums) 
    {
        List<Integer> listOfIntegers = new ArrayList<>();
        List<List<Integer>> list = new ArrayList<>();
        int M = 0;
        
        if(nums.length == 0)
        {
            return list;
        }
        
        for(int i = 0; i < nums.length - 2; i += 2)
        {
            for(int j = i + 1; j < nums.length - 1; j++)
            {
                labelK: for(int k = i + 2; k < nums.length; k++)
                {
                    if(nums[i] + nums[j] + nums[k] == 0)
                    {
                        listOfIntegers = List.of(nums[i], nums[j], nums[k]);
                        list.add(listOfIntegers);
                        M++;
                    }
                    else { continue labelK; }
                }
            }
        }
        
        if(M == 1) { return list; }
        else
        {
            for(int l = 0; l < M - 1; l++)
            {
                labelM: for(int m = l + 1; m < M; m++)
                {
                    if(list.get(m).containsAll(list.get(l)))
                    {
                        list.remove(m);
                        M = M - 1;
                    }
                    else { continue labelM; }
                }
            }
        }
        return list;
    }
}

Wrong Answer
Runtime: 0 ms
Your input
[0,0,0,0]
Output
[[0,0,0],[0,0,0]]
Expected
[[0,0,0]]

</code>


Вы бы для начала форматировать текст научились, а потом уже за литкод взялись.

На самом деле дайте ссылку на задачу. Там с десяток в решений уже готовых опубликовано.
12 июл 20, 09:58    [22165928]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Alexandrietz, перед тем как кинуться кодить - расскажи словами как ты сам себе понял задачу.

Your input
[0,0,0,0]


Expected
[[0,0,0]]


На вход пришел вектор из 4х элементов. На выходе - вектор векторов.

А если я подам на вход

Input
[2,3,5,7]


Что ты ожидаешь на выходе?

В подобного рода задачах (алгоритмизация, олимпиадные задчи и контестеры)
важен не java код, а важно твоё понимание тест-кейсов и всех-всех алгоритмических исходов решения.

Если у тебя этого понимания нет - то jav-ой заниматься еще рано. Это будет
зря потраченное время.
12 июл 20, 10:21    [22165933]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Немного подправил
class Solution 
{
    public List<List<Integer>> threeSum(int[] nums) 
    {
        List<Integer> listOfIntegers = new ArrayList<>();
        List<List<Integer>> list = new ArrayList<>();
        int M = 0;
        
        if(nums.length == 0)
        {
            return list;
        }
        
        for(int i = 0; i < nums.length - 2; i++)
        {
            for(int j = i + 1; j < nums.length - 1; j++)
            {
                labelK: for(int k = i + 2; k < nums.length; k++)
                {
                    if(nums[i] + nums[j] == -nums[k])
                    {
                        listOfIntegers = List.of(nums[i], nums[j], nums[k]);
                        list.add(listOfIntegers);
                        M++;
                    }
                    else { continue labelK; }
                }
            }
        }
        
        if(M == 1 || M == 0) { return list; }
        else
        {
            for(int l = 0; l < M - 1; l++)
            {
                labelM: for(int m = l + 1; m < M; m++)
                {
                    if(list.get(m).containsAll(list.get(l)))
                    {
                        list.remove(m);
                        M--;
                        m--;
                    }
                    else { continue labelM; }
                }
            }
        }
        return list;
    }
}

Input
[3,0,-2,-1,1,2]
Output
[[3,-2,-1],[0,-2,2],[0,-1,1],[-2,1,1]]
Expected
[[-2,-1,3],[-2,0,2],[-1,0,1]]
12 июл 20, 10:32    [22165936]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Просто что пришло в голову, то и написал
12 июл 20, 10:36    [22165938]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Однако я знаю, что это решение просто отвратительно, так как оно O(N^3).
12 июл 20, 11:01    [22165944]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Я бы сделал простейшую проверку на существование отрицательных. Или знакопеременных чисел в input.

Это инвариант.

И далее ищи генерацию сочетаний 3 из n.

Любой алгоритм. Но он должен быть рекурсивным. Это мое пожелание по качеству самой реализации. Для 3х элементов у ленивого кодера будет соблазн крутить 3 цикла. Поэтому исключим возможность схитрить.
12 июл 20, 11:04    [22165945]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
dakeiras
Member

Откуда:
Сообщений: 549
Alexandrietz
mayton,

Однако я знаю, что это решение просто отвратительно, так как оно O(N^3).

меня тут спросили на интервью про алгоритмическую сложность и О малое.
Я сказал что ту лекцию прогулял в универе.

Надо будет дать им контакты автора, вон он знает что такое О малое О большое.
12 июл 20, 11:04    [22165946]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
dakeiras
Member

Откуда:
Сообщений: 549
это кстати мега бесполезные задачи на перестановки, сортировки и прочее.

В реальной жизни не используются.
12 июл 20, 11:06    [22165948]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
dakeiras,

Ну, знать лучше надо, но вот эти задачи олимпиадные
12 июл 20, 11:46    [22165965]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
dakeiras,

Все эти о-малое, О-большое - символы Ландау и используются в матане.
12 июл 20, 11:49    [22165968]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8762
dakeiras
...на перестановки....
В реальной жизни не используются.

как минимум pokerstars с Вами не согласен )))
12 июл 20, 12:14    [22165978]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Раз тут говорят что эти задачи бесполезны, то изучать это я не буду. Пойду сервлеты изучать.
12 июл 20, 13:57    [22166003]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Alexandrietz
mayton,

Раз тут говорят что эти задачи бесполезны, то изучать это я не буду. Пойду сервлеты изучать.

Что ты кидаешься из одной крайности в другую?

Это плохая черта. Доведи дело до конца, чьорт тебя подбери!
12 июл 20, 14:03    [22166005]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Да я как бы ни думал, будет O(N^3).
12 июл 20, 14:26    [22166013]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
dakeiras
Member

Откуда:
Сообщений: 549
Leonid Kudryavtsev
dakeiras
...на перестановки....
В реальной жизни не используются.

как минимум pokerstars с Вами не согласен )))


Не согласны те в pokerstars (и во многих других фирмах, 90% их), кто пишет требования к соискателям и проводит интервью.
Т.е. те кто выучил это неиспользуемое и отфильтровывает "не таких как они".

А вот если бы бизнес (точнее те за чей счёт карнавал) знал всю эту поднаготную - он бы сильно удивился и расстроился бы.

Alexandrietz
dakeiras,

Все эти о-малое, О-большое - символы Ландау и используются в матане.

Я его в универе прогулял. На самом деле не прогулял, благополучно сдал выучив на 4 (у оч. строгово препода из стекляшки).
И на след. день полностью забыл.

Всё необходимо использовать по мере надобности.
Не нужно использовать то без чего можно обойтись.
12 июл 20, 14:47    [22166027]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
dakeiras
Member

Откуда:
Сообщений: 549
Alexandrietz
mayton,

Раз тут говорят что эти задачи бесполезны, то изучать это я не буду. Пойду сервлеты изучать.


Тяжёлый вопрос на самом деле.

Откуда идти - снизу вверх или сверху вниз.
Я фанат сверху вниз.

Т.е. всегда от общего иду к частному. Сначала изучаю бизнес, архитектуру, Веб.
До алгоритмов так и не дошёл за 15 лет пока, не потребовалось.


Но на интервью требуют их. Мне норм я такие фирмы шлю.
Но тебе может зайдёт.
12 июл 20, 14:50    [22166035]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
dakeiras
Member

Откуда:
Сообщений: 549
насчёт Покера - там кстати может быть математическая специфика.
Как и в трейдинге.
12 июл 20, 14:53    [22166037]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Alexandrietz
mayton,
Да я как бы ни думал, будет O(N^3).

Если ты не можешь решить задачу сейчас в том виде комплексности как ее предлагает leetcode - отложи ее.

Не всё сразу возможно заглотить. И не все программисты объективно могут пройти экзамен в Google.
Просто кидание из алгоритмизации в сервлеты - это какая-то суета и паника.

Заработай минимум денег. Оплати платные курсы. Оплати ментора.
Я не верю что мужчина совершеннолетнего возраста не может заработать небольшую сумму.

Давай не ленись и не прокрастинируй.
12 июл 20, 15:03    [22166043]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
забыл ник
Member

Откуда:
Сообщений: 3370
Ну вы тут бадягу конечно развели.
У бедолаги просто нету фильтрации на уникальность решения, поэтому у него на выходе два результата, а должен быть один.
автор

Wrong Answer
Runtime: 0 ms
Your input
[0,0,0,0]
Output
[[0,0,0],[0,0,0]]
Expected
[[0,0,0]]

12 июл 20, 15:47    [22166064]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3312
Такое решение нашёл.

public List<List<Integer>> threeSum(int[] nums) {
    Arrays.sort(nums);
 
    ArrayList<List<Integer>> result = new ArrayList<>();
 
    for (int i = 0; i < nums.length; i++) {
        int j = i + 1;
        int k = nums.length - 1;
 
        if (i > 0 && nums[i] == nums[i - 1]) {
            continue;
        }
 
        while (j < k) {
            if (k < nums.length - 1 && nums[k] == nums[k + 1]) {
                k--;
                continue;
            }
 
            if (nums[i] + nums[j] + nums[k] > 0) {
                k--;
            } else if (nums[i] + nums[j] + nums[k] < 0) {
                j++;
            } else {
                ArrayList<Integer> l = new ArrayList<>();
                l.add(nums[i]);
                l.add(nums[j]);
                l.add(nums[k]);
                result.add(l);
                j++;
                k--;
            }
        }
    }
 
    return result;
}


Хорошего вам дня!
12 июл 20, 16:43    [22166074]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
На Розетте есть почти под все языки. Осталось только добавить фильтрацию по summ==0

https://rosettacode.org/wiki/Combinations
12 июл 20, 16:50    [22166077]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8762
dakeiras

А вот если бы бизнес (точнее те за чей счёт карнавал) знал всю эту поднаготную - он бы сильно удивился и расстроился бы.

Вы предполагаете, что люди профессионально занимающиеся игровым бизнесом не знаю, что такое "перестановки" и теория вероятности ? )))

Подозреваю, что владельцы бизнеса по данным вопросам подавляющее большинство форумчан уделают. Если и не с теоретически точки зрения, то по крайне мере с практической.
13 июл 20, 12:38    [22166403]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
dakeiras
Member

Откуда:
Сообщений: 549
Leonid Kudryavtsev
dakeiras

А вот если бы бизнес (точнее те за чей счёт карнавал) знал всю эту поднаготную - он бы сильно удивился и расстроился бы.

Вы предполагаете, что люди профессионально занимающиеся игровым бизнесом не знаю, что такое "перестановки" и теория вероятности ? )))

Подозреваю, что владельцы бизнеса по данным вопросам подавляющее большинство форумчан уделают. Если и не с теоретически точки зрения, то по крайне мере с практической.

блаженная наивность.
13 июл 20, 17:31    [22166711]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Что можете сказать о ШАДе Яндекса? Чему обучают? Стоит ли идти?
15 июл 20, 16:56    [22167991]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3796
Alexandrietz
mayton,

Что можете сказать о ШАДе Яндекса? Чему обучают? Стоит ли идти?

На сайте написано: https://yandexdataschool.ru/
15 июл 20, 16:58    [22167993]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Александриец. Вот здесь https://www.sql.ru/forum/certification такие вопросы задавай.
15 июл 20, 17:50    [22168038]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
SpringMan
Member

Откуда:
Сообщений: 207
Alexandrietz
mayton,
Что можете сказать о ШАДе Яндекса? Чему обучают? Стоит ли идти?

Вот читаю уже вторую тему. Так и не понял, а что ты конкретно делать то хочешь?
15 июл 20, 17:56    [22168056]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
SpringMan,

Да я просто просил про ШАД. Там жесткая математика. Да и для ШАДа я точно уже стар.
15 июл 20, 18:15    [22168081]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Продолжаешь заниматься самоуничижением?
15 июл 20, 18:43    [22168105]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Нет.
15 июл 20, 18:47    [22168107]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Я просто высказал предположение.
15 июл 20, 20:29    [22168180]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10418
"Предположение - мать всех провалов" (ц)
15 июл 20, 20:37    [22168185]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

А нельзя ли нанять ментора, например? А-то вот никак непонятно, в каком направлении развиваться.
16 июл 20, 11:17    [22168416]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Alexandrietz, можно. Я-же тебе это предлагал. Но ты кстати еще и забываешь мои пожелания
писать в тематических топиках.

Ты-же понимаешь что в Java люди приходят читать вопросы о Java а не твои сомнения и муки?

Прояви уважение к читателям этого форума! Не пиши то что не имеет прямого отношения к Java.
16 июл 20, 11:23    [22168425]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Да, понимаю. Блин, изучаю сейчас сервлеты и сложности доступа, удаления и т.п. коллекций, а в этот же момент забываю какие-то шняги типа BuffredInputStream. Вот как с этим бороться?
16 июл 20, 11:33    [22168436]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10418
"Чтобы ломать (головой) кирпичи, надо тренироваться, тренироваться и что? Правильно - ещё тренироваться". Приписывается неизвестному сержанту ВДВ.

P.S.
Если правильно помню, то был такой эпизодик в "агитках" минобороны СССР ("Зелёные береты", "Вернёмся осенью" и т.п.).
16 июл 20, 11:55    [22168461]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3796
Alexandrietz
mayton,

Да, понимаю. Блин, изучаю сейчас сервлеты и сложности доступа, удаления и т.п. коллекций, а в этот же момент забываю какие-то шняги типа BuffredInputStream. Вот как с этим бороться?

Чтобы полученные знания превратить в умения и навыки, нужна практика, тренировки, повторения.

Сообщение было отредактировано: 16 июл 20, 11:53
16 июл 20, 11:55    [22168462]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Alexandrietz
mayton,

Да, понимаю. Блин, изучаю сейчас сервлеты и сложности доступа, удаления и т.п. коллекций, а в этот же момент забываю какие-то шняги типа BuffredInputStream. Вот как с этим бороться?

Начни делать свой Цветочный магазин.
16 июл 20, 12:00    [22168468]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Что ты под этим подразумеваешь?
16 июл 20, 13:45    [22168581]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Для изучения Java я использую разные ресурсы, в том числе просматриаю курсы. Вот если я забыл какие-то классы, точнее их методы, но помню, что делают они(классы) в целом, то можно не заморачиваться, а тупо гуглить?
16 июл 20, 15:11    [22168669]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
chpasha
Member

Откуда:
Сообщений: 9552
Alexandrietz
можно не заморачиваться, а тупо гуглить?
можно и нужно. хотя описание того, что делают методы и классы, как правило можно глянуть в самой IDE, т.к. обычно над каждым методом и классом в исходном коде есть краткое (или не очень) описание, что он делает, какие параметры принимает, что возвращает и т.д.
16 июл 20, 15:27    [22168679]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
chpasha,

Все это помнить невозможно в принципе.
Например, все методы классов OutputStream, InputStream, Writer, Reader и etc., относящиеся к потокам, помнить нереал. Сигнатуры и то, что они делают, смотрятся через IDE или гугляться.
16 июл 20, 16:06    [22168704]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
chpasha,

Или же знать, что делают классы, например, BigDecimal, Console, ClassLoader & etc.
16 июл 20, 16:08    [22168706]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
забыл ник
Member

Откуда:
Сообщений: 3370
Alexandrietz
chpasha,

Или же знать, что делают классы, например, BigDecimal, Console, ClassLoader & etc.


Поэтому тебе и нужна практика. Самые часто используемые методы ты запомнишь. Главное помнить где примерно что есть. Я например до сих пор гуглю java how create file итд - тупо быстрее чем набирать выходит
16 июл 20, 16:23    [22168720]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
забыл ник,

Ну, я просто помню, для чего эти классы нужны в целом, а помнить сигнатуры методов - гиблое дело. Хотя, я считаю, что Java SE надо помнить наизусть основные моменты.
16 июл 20, 16:24    [22168721]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
забыл ник
Member

Откуда:
Сообщений: 3370
Alexandrietz
забыл ник,

Ну, я просто помню, для чего эти классы нужны в целом, а помнить сигнатуры методов - гиблое дело. Хотя, я считаю, что Java SE надо помнить наизусть основные моменты.

Сигнатуры тебе IDE покажет
16 июл 20, 16:25    [22168723]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
забыл ник,

Вот вроде сервлеты не очень сложно. Однако опять чувствуется то, что чего-то не хватает.
16 июл 20, 16:34    [22168726]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
забыл ник,

Вот мне посоветовали написать свой цветочный магазин. Что это значит? Сайт с регистрацией и т.п.?
16 июл 20, 17:04    [22168747]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8762
Когда в школе я понял, что чтение книг по программированию и разнообразные hello world меня уже не прет,
я просто пошел работать
16 июл 20, 17:23    [22168757]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
chpasha
Member

Откуда:
Сообщений: 9552
Leonid Kudryavtsev
я просто пошел работать

если хочешь поработать, ляг, поспи и все пройдет

а если серьезно, пусть хоть HelloWorld для начала напишет - нельзя учить кататься на лыжах того, кто не умеет ходить
16 июл 20, 17:31    [22168764]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Alexandrietz
забыл ник,

Вот мне посоветовали написать свой цветочный магазин. Что это значит? Сайт с регистрацией и т.п.?

Тема где-то здесь обсуждалась https://www.sql.ru/forum/1310288-1/gde-vzyat-opyt
Поищи сам.
16 июл 20, 21:54    [22168877]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Должен ли джун уметь реализовать в любой момент времени структуры данных(стек, дерево, списки и пр.) сам, то есть написать?
27 июл 20, 18:46    [22174349]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
забыл ник
Member

Откуда:
Сообщений: 3370
Alexandrietz
mayton,

Должен ли джун уметь реализовать в любой момент времени структуры данных(стек, дерево, списки и пр.) сам, то есть написать?


Хорошую структуру данных и сеньор врядли напишет в любой момент времени, особенно если разбудить посреди ночи.
Джуну надо знать для чего и когда применяется структура данных и основные ее характеристики(скорость вставки, удаления и доступа, а также затрачиваемое место в памяти или на диске)
27 июл 20, 18:50    [22174353]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Zzz79
Member

Откуда:
Сообщений: 569
Alexandrietz
mayton,

Должен ли джун уметь реализовать в любой момент времени структуры данных(стек, дерево, списки и пр.) сам, то есть написать?

конечно должен
тебе скажут у нас новая фича в апи- вот рест бери и делай валидацию

валидация практически всегда включает в себя работу с какими то данными и что ты скажешь лиду своему?

пиши тут сам эрей лист?))

вообще структуры данных - звучит для джуна страшно ,на самом деле все огрничивается ArrayList, Map и Set

ну в каких то случаях Queue и коллекции из пакета concurrent
27 июл 20, 19:37    [22174374]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Zzz79
Member

Откуда:
Сообщений: 569
Но и вот такая тема - что знание теории -не имеет ничего общего с реальной работой к сожалению
самое первое это работа с VSC ,тут нужно уметь и знать все причем на зубок ,причем как из консоли,так и из идеи,так и непосредственно с вашей проектной репы что у вас там будет битбакет или гитлаб
нужно уметь рабоать с системами сборки Jenkins/TeamCIty
Нужно знать докер и кубернейтс
Нужно знать инструментарий Intelejii Idea от А до Я
тоесть понятно что на 100% даже те кто ее писал не смогут юзать,но хотя бы %50 надо знать- дебагер( маст хев)
горяиче клавиши
поиск по проекту- сейчас почти равнозначно успешному кодингу- умеешь найти что надо - ты красавчик)чтобы полноценно искать по проекту нужно это дело отдельно изучить - там столько скрытых фишек что голова лопнет по началу)
ну понятно что нужно уметь пользоваться конослью как винды так и линукс
нужно освоить градл( мавен сейчас почти никто не использзует в чистом виде)
и еще много чего

вот простой пример я сейчас беру тебя на работу и первое что я тебе скажу вот наш репозиторий запусти этот проект локально
и ты тут же сядешь в лужу- потому что никто на собесе это не справшивает и в гугле не говорят - а это вообще то ежедневная работа программиста
27 июл 20, 19:47    [22174379]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
Zzz79,

А почему IT стало таким популярным? Из-за того, что есть миф о 300k/sec? Ведь такие суммы получают супер профессионалы, которые были Перльманами проги с детства.
27 июл 20, 21:00    [22174399]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Alexandrietz
mayton,

Должен ли джун уметь реализовать в любой момент времени структуры данных(стек, дерево, списки и пр.) сам, то есть написать?

Писать их не нужно. Можно просто пояснить какой у них интерфейс. Это будет уже 50% ответа.
И пояснить какая должна быть реализация. Пояснить контракт. Тоесть список например ценен тем что очень быстро
удаляет любой элемент при условии что вы имеете линк на этот элемент.

Стек можно рассматривать как частный случай списка.

Деревья тоже писать не надо. Надо нарисовать их интерфейс. (Это возможно будет ITreeNode).
И описать что будет внутри.

Деревья есть везде где есть документы. Любой XML/JSon документ это шаблон. Шаблон компоновщик тоже как частный
случай дерева. Любоая файловая система с файлами это дерево. Где узлы это фолдеры и листья - это файлы.
И любой веб-краулер который погружается в обход интернет доменов и ссылок - по сути ходит по бесконечно большому дереву.

Деревья тоже не нужно писать. Но нужно уметь написать рекурсивный алгоритм для поиска чего-нибудь в древовидной
структуре.

Если речь идет о деревьях поиска - то обычно спрашивают по Red-Black tree то могут спросить про свойства.
Там... Сортированность ключей и своя асимптоматика. И некоторые доп-опции. Например способность делать
поиск в "диапазоне ключей". Navigable. Это то что хеш-табличка не умеет например.
27 июл 20, 21:04    [22174400]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

Моя задача - стать стажером, чтобы набраться опыта. Никто на миддла меня не возьмет нигде и никогда, поэтому я должен знать чуточку больше, чем другие. Благо я люблю non-мехматовскую математику. СЕйчас смотрю лекции технопарка по алгоритмам, но там бесит то, что на С++ идет.
27 июл 20, 21:16    [22174404]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

По графам знаю с лекций Алексеева с ВМиК. Норм обясняет, но там, мягко говоря, не все: нет гамильтоновых циклов, эйлеровых графов и т.п. Дали какие-то общие сведения - связность, формула Эйлера для планарных графов и т.п.
27 июл 20, 21:23    [22174408]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
mayton,

А свойства, с точки зрения математики, или нет? Как я понимаю, RB-Tree - это тупо разновидность дерева, а дерево - это связный граф без циклов.
27 июл 20, 21:25    [22174409]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
забыл ник
Member

Откуда:
Сообщений: 3370
Alexandrietz
mayton,

А свойства, с точки зрения математики, или нет? Как я понимаю, RB-Tree - это тупо разновидность дерева, а дерево - это связный граф без циклов.

Тебе это нафиг знать не надо. И мне ни разу не понадобилось, архитектору с 15-летним стажем в IT, хотя я это и знаю. Но только потому что мне интересно как все под капотом устроено.
27 июл 20, 21:40    [22174415]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
забыл ник,

Ок. Просто мне самому интересны графы. О, у тебя образование архитектора. Смотрели на дипломчик твой?
27 июл 20, 21:44    [22174416]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
забыл ник
Member

Откуда:
Сообщений: 3370
Alexandrietz
забыл ник,

Ок. Просто мне самому интересны графы. О, у тебя образование архитектора. Смотрели на дипломчик твой?


Software architect.

А специальность у меня вообще "Сенсорные системы".
Но 15 лет назад время было другое, толковых людей разбирали не глядя на образование, даже джуном было зайти легко. Сейчас субъективно потяжелее
27 июл 20, 21:55    [22174421]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
забыл ник,

Да я себя корю за то, что не начал кодить в 12-13 лет. Тогда бы и проблем не было.
27 июл 20, 21:56    [22174422]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
забыл ник
Member

Откуда:
Сообщений: 3370
Alexandrietz
забыл ник,

Да я себя корю за то, что не начал кодить в 12-13 лет. Тогда бы и проблем не было.


Да хватит ныть уже, я компьютер увидел в 18 лет, и по информатике у меня в дипломе 3, и лабы я на первом-втором курсе списывал. А программировать начал в 20 лет. Единственное в чем повезло - так это быстр овзяли джуном, но скорее всего потому что глаза горели
27 июл 20, 22:32    [22174431]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Alexandrietz
Member

Откуда:
Сообщений: 171
забыл ник,

У меня осложняется дерьмо отсутствием диплома.
27 июл 20, 23:00    [22174441]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
dimonz80
Member

Откуда:
Сообщений: 210
Alexandrietz
Решаю задачу на leetcode, смысл которой в том, чтобы из целочисленного массива вывести все различные списки Integer'ов, состоящих из 3 чисел таких, что их сумма равна 0 и оформить их в виде списка, то есть будет List<List<Integer>> на выходе. Не понимаю, в чем ошибка, когда тамошний компилятор пишет такое.
<code>
class Solution
{
public List<List<Integer>> threeSum(int[] nums)
{
List<Integer> listOfIntegers = new ArrayList<>();
List<List<Integer>> list = new ArrayList<>();
int M = 0;

if(nums.length == 0)
{
return list;
}

for(int i = 0; i < nums.length - 2; i += 2)
{
for(int j = i + 1; j < nums.length - 1; j++)
{
labelK: for(int k = i + 2; k < nums.length; k++)
{
if(nums[i] + nums[j] + nums[k] == 0)
{
listOfIntegers = List.of(nums[i], nums[j], nums[k]);
list.add(listOfIntegers);
M++;
}
else { continue labelK; }
}
}
}

if(M == 1) { return list; }
else
{
for(int l = 0; l < M - 1; l++)
{
labelM: for(int m = l + 1; m < M; m++)
{
if(list.get(m).containsAll(list.get(l)))
{
list.remove(m);
M = M - 1;
}
else { continue labelM; }
}
}
}
return list;
}
}

Wrong Answer
Runtime: 0 ms
Your input
[0,0,0,0]
Output
[[0,0,0],[0,0,0]]
Expected
[[0,0,0]]

</code>



 val data = List(0,0,0,0)

(for {
  d1 <- data
  d2 <- data
  d3 <- data if (d1 + d2 + d3) == 0
} yield {
  List(d1,d2,d3).sorted
}).distinct


data: List[Int] = List(0, 0, 0, 0)
res0: List[List[Int]] = List(List(0, 0, 0))




 val data = Range(0, 10).map { _ => ((math.random() - math.random()) * 10).toInt }
 

 (for {
  d1 <- data
  d2 <- data
  d3 <- data if (d1 + d2 + d3) == 0
} yield {
  List(d1,d2,d3).sorted
}).distinct


data: IndexedSeq[Int] = Vector(4, 1, 0, -2, -4, 1, -2, 0, 0, -7) 
res0: IndexedSeq[List[Int]] = Vector(List(-4, 0, 4), List(-2, -2, 4), List(-2, 1, 1), List(0, 0, 0))


data: IndexedSeq[Int] = Vector(7, -3, -3, 0, -7, 0, 1, 1, -6, 0)
res0: IndexedSeq[List[Int]] = Vector(List(-7, 0, 7), List(0, 0, 0))


data: IndexedSeq[Int] = Vector(-1, 2, 3, 4, -1, 3, -4, 0, -2, -2) 
res0: IndexedSeq[List[Int]] = Vector(List(-1, -1, 2), List(-2, -1, 3), List(-4, 2, 2), List(-2, 0, 2), List(-4, 0, 4), List(-2, -2, 4), List(0, 0, 0))
28 июл 20, 09:40    [22174537]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Alexandrietz
mayton,

По графам знаю с лекций Алексеева с ВМиК. Норм обясняет, но там, мягко говоря, не все: нет гамильтоновых циклов, эйлеровых графов и т.п. Дали какие-то общие сведения - связность, формула Эйлера для планарных графов и т.п.

Отложи пока графы. Вряд-ли вообще их будут спрашивать.
28 июл 20, 10:36    [22174561]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5395
Alexandrietz
забыл ник,

У меня осложняется дерьмо отсутствием диплома.


Восстановись и получи диплом. :-)
28 июл 20, 11:36    [22174575]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю, в чем ошибка.  [new]
Zzz79
Member

Откуда:
Сообщений: 569
забыл ник
Alexandrietz
mayton,

А свойства, с точки зрения математики, или нет? Как я понимаю, RB-Tree - это тупо разновидность дерева, а дерево - это связный граф без циклов.

Тебе это нафиг знать не надо. И мне ни разу не понадобилось, архитектору с 15-летним стажем в IT, хотя я это и знаю. Но только потому что мне интересно как все под капотом устроено.


Ему надо пойти на реальный проект и он поймет ,что все что нужно это уметь понять аналитика и найти в коде то,что нужно изменить,чтобы выполнить задачу
а сама задача в рамках джавы обычно добавить пару полей + маппинг

но вот найти куда это прописать - можно искать неделями)
28 июл 20, 12:16    [22174584]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Java Ответить