Выпуск#22: ITренировка — актуальные вопросы и задачи от ведущих компаний

в 12:18, , рубрики: ITренировка, Samsung, SpiceIT, Блог компании Spice IT Recruitment, занимательные задачи, Занимательные задачки, Программирование

Мы подготовили для Вас новый выпуск, ставшей уже традиционной, ITренировки — подборки задач с собеседований в IT-компании мира.
КДПВ
В отобранные задачи попали задачи с собеседований Samsung. Соискателю также могут задать вопрос про шифр и Шерлока Холмса (нет, не пляшушие человечки, как можно было подумать). Уровень сложности мы постарались варьировать — от простых до серьезных.

Вопросы

  1. Faulty machine

    We have 10 machines that produce screws, each weighing 1 gram. One of the machines, however, produces screws weighing 0.9 grams only. We are allowed only one weighing and need to determine which machine is faulty.

    Перевод

    У нас есть 10 машин, производящих винты, каждый весом в 1 грамм. Правда, одна из машин производит винты весом 0,9 грамм. Нам разрешено произвествие только одно взвешивание (прим. винтов), чтобы найти машину, производящую бракованные винты.
  2. Holmes and cipher

    Sherlock Holmes was decoding an encrypted message. If in the encryption, DISTANCE is written as IDTUBECN and DOCUMENT is written as ODDVNTNE.

    Can you help him decipher HTTQYAD?

    Перевод
    Шерлок Холмс разгадывает зашифрованное сообщение. В шифре, DISTANCE обозначено как IDTUBECN, а DOCUMENT — как ODDVNTNE.

    Сможете ли Вы помочь ему расшифровать HTTQYAD?

Задачи

  1. Research center and rare elements

    A Research team want to establish a research center in a region where they found some rare-elements.They want to make it closest to all the rare-elements as close as possible so that they can reduce overall cost of research over there.It is given that all the rare-element’s location is connected by roads.It is also given that Research Center can only be build on road.Team decided to assign this task to a coder.If you feel you have that much potential..Here is the Task :- Find the optimal position of research center from given locations of rare-elements.

    Locations are given in the matrix cell form where 1 represents roads and 0 no road. Number of rare-element and their location was also given(number<=5) and order of square matrix was less than equal to (20).

    Перевод

    Исследовательская команда хочет основать центр исследований в регионе, где найдены некоторые редкие элементы. Они хотят расположить его максимально близко ко всем источникам элементов, чтобы снизить общие затраты. Источники элементов соединены дорогами. Также, исследовательский центр может быть построен только возле дороги. Команда решает поручить задачу разработчику, и, если Вы чувствуете свой потециал — найдите оптимальное расположение центра, исходя из локаций элементов.

    Локации даны в виде матрицы, где 1 в ячейке означает наличие дороги, а 0 — её отсутствие.
    Также даны локации элментов (числом <= 5). Порядок квадратной матрицы <= 20.

  2. Stack down or up

    In a typical process, a stack segment of program contains local variables along with information that is saved each time a function is called. Each time a function is called, the address of where to return to and certain information about the caller’s environment, such as some of the machine registers, are saved on the stack. The newly called function then allocates room on the stack for its automatic and temporary variables.

    Stack may grow downward or upward depending on environment for which code is compiled, i.e., depends on compiler. Write down the program to determine whether stack grows downward or upward?

    Перевод

    Обычно, сегмент стека программы содержит локальные переменные с информацией, сохраняемой при каждом вызове функции. Когда вызывается функция, в стек сохраняется адрес возврата и информация об окружении — например, некоторые регистры. Затем вызываемая функция занимает место в стеке для своих автоматических и временных переменных.

    Стек может расти вниз или вверх в зависимости от среды, для которой скомпилирован код, т. е. зависит от компилятора. Реализуйте программу для определения, растет ли стек вниз или вверх.

  3. Next greater element

    Given an array, print the Next Greater Element (NGE) for every element. The Next greater Element for an element x is the first greater element on the right side of x in array. Elements for which no greater element exist, consider next greater element as -1.

    Examples:
    a) For any array, rightmost element always has next greater element as -1.
    b) For an array which is sorted in decreasing order, all elements have next greater element as -1.
    c) For the input array [4, 5, 2, 25], the next greater elements for each element are as follows.

    Element       NGE
       4      -->   5
       5      -->   25
       2      -->   25
       25     -->   -1
    

    d) For the input array [13, 7, 6, 12], the next greater elements for each element are as follows.

      Element        NGE
       13      -->    -1
       7       -->     12
       6       -->     12
       12     -->     -1
    

    Перевод

    Дан массив, напечатайте следующий больший элемент (NGE) для каждого из элементов. Следующим большим элементом для x является первый больший элемент с правой стороны от x в массиве. Если такого элемента не существует — NGE считается -1.
    Примеры:
    a) Для любого массива, крайний правый элемент всегда имеет NGE = -1.
    b) Для любого массива, отсортированного по убыванию, все элементы имеют NGE = -1.
    c) Для элементов массива [4, 5, 2, 25] NGE будет следующим:

    Элемент       NGE
       4      -->   5
       5      -->   25
       2      -->   25
       25     -->   -1
    

    d) Для элементов массива [13, 7, 6, 12] NGE будет следующим:

     Элемент         NGE
       13      -->    -1
       7       -->     12
       6       -->     12
       12     -->     -1
    

Ответы будут даны в течение следующей недели — успейте решить. Удачи!

Автор: reci

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js