Просмотр одиночного сообщения
Old 28-10-2020, 22:27   #167
Fet_Frumos
Пользователь
 
Аватар для Fet_Frumos
 
Сообщений: 612
Проживание:
Регистрация: 11-08-2006
Status: Offline
Цитата:
Сообщение от Suhov
Даже как то теряюсь, как ещё донести свою мысль-то...

Представьте задачу, ну например такую: дан список, каждый элемент которого это map (не знаю как по русски, пусть будет отображение), из целого в список, который в свою очередь состоит из целых или null. Напишите функцию, возвращающую максимальное количество нечётных элементов во вложенных списках. В функцию передаётся первый упомянутый список.

Как по-Вашему, есть ли смысл вставлять в поиск гугла весь текст этой задачи? Если да, то обоснуйте, иначе я Вас никогда не пойму.

Касательно этой задачи я могу нагуглить, например, некоторые конкретные вещи, в которых не хочу ошибиться, если не уверен, ну типа List<Map<Int, List>> или надо всё таки List<Map<Int, List<Int>>> и тд. Но искать решение целиком???? Зная, что тебя пишут, и что смысл этого интервью проверить твои программистские навыки, а не навыки гуглера!

Я никого не ищу, я соискателем иногда выступаю, но разумеется могу рассуждать с точки зрения нанимателя, почему бы и нет? Не знаю про процент соглашающихся, по моему мнению вся сфера рекрутинга в ИТ движется именно к такому формату.




Решение на Java (16 строчек кода), но фактически это одно единственное выражение (expression) и 0 statements



PHP код:
 import java.util.Objects;
import org.junit.Test;

import io.vavr.Tuple;
import io.vavr.Tuple2;
import io.vavr.collection.HashMap;
import io.vavr.collection.List;
import io.vavr.collection.Map;
import io.vavr.control.Option;

public class 
Exam {
    
    @
Test
    
public void doIt() {        
        List<
Integerin_l1 = List.of(124null245null10);        
        List<
Integerin_l2 = List.of(124null245null1020307112);
        List<
Integerin_l3 = List.of(1null245null10203012null10021121);
        List<
Integerin_l4 = List.of(124null245null10203071121234341132);
        
        
HashMap<Integer, List<Integer>> m1 HashMap.of(1in_l12in_l2);
        
HashMap<Integer, List<Integer>> m2 HashMap.of(4in_l112in_l2);
        
HashMap<Integer, List<Integer>> m3 HashMap.of(10in_l1);
        
HashMap<Integer, List<Integer>> m4 HashMap.of(15in_l42in_l13in_l2);
        
HashMap<Integer, List<Integer>> m5 HashMap.of(2in_l47in_l113in_l3);
        
        
System.out.println(maxEvenList(List  .of(m1m2m3m4m5)));
    }
    
    private List<
Tuple2<Integer, List<Integer>>> maxEvenList(final List<Map<Integer, List<Integer>>> input) {
        return 
input
            
.filter(Objects::nonNull)
            .
map(-> {
                return 
m.mapValues(list -> {
                    List<
Integereven_list 
                    list
                        .
filter(Objects::nonNull)
                        .
filter(-> i%== 0)
                        .
toList();
                    return 
Tuple.of(even_list.size(), even_list);            
                })
                .
maxBy(Tuple2::_1)
                .
map(-> Tuple.of(s._1(), s._2._2));
            })
            .
filter(Option::isDefined)
            .
map(Option::get)
            .
toList();
    }




Результат:

Цитата:
List((2, List(2, 4, 2, 10, 20, 30, 12)), (12, List(2, 4, 2, 10, 20, 30, 12)), (10, List(2, 4, 2, 10)), (15, List(2, 4, 2, 10, 20, 30, 12, 434, 32)), (13, List(2, 10, 20, 30, 12, 100)))



Вечером напишу на Elixir.

-----------------
Буква Ё обязательно должна быть в написании слов, а то букв станет 32, а не 33, как сейчас. Кому-то это выгодно. Кому? Врагам Русского народа! (с)
 
0
 
0
    Ответить с цитированием