Рубрики
Без рубрики

Топ-100+ структур данных и алгоритмов вопросы для интервью в Ява

. С тегами java, алгоритмы, практика, структуры данных.

Я публиковал структура данных и алгоритмы вопросов для интервью по различным темам, таким как Массив, очередь, Стек, Двоичное дерево, список ссылок, Строка, число, список массивов и т.д. Поэтому я объединяю список программ для создания индексной записи. Я буду продолжать добавлять ссылки на этот пост всякий раз, когда буду добавлять новые программы. Это часто задаваемые вопросы для интервью о структуре данных и алгоритме.

Если вы хотите попрактиковаться и улучшить структуру данных и алгоритмы программ, этот пост будет вам очень полезен. Я порекомендую вам сначала попробовать это самостоятельно, а затем проверить решение.

Стек

Вопрос 1: Реализуйте стек с помощью массива.

Вам нужно реализовать стек с использованием массива. Вам нужно написать методы push и pop, чтобы продемонстрировать поведение стека (Последний вход – первый выход). Решение : Java-программа для реализации стека с использованием массива.

Вопрос 2: Реализовать стек с использованием связанного списка:

Вам необходимо реализовать стек с использованием связанного списка. Вам нужно написать методы push и pop, чтобы продемонстрировать поведение стека (Последний вход – первый выход). Решение : Java-программа для реализации стека с использованием связанного списка

Вопрос 3: Реализуйте стек с использованием двух очередей.

Для реализации поведения стека необходимо использовать две очереди. Вам нужно написать методы push и pop, чтобы продемонстрировать поведение стека (Последний вход – первый выход). Решение : Java-программа для реализации стека с использованием двух очередей

Вопрос 4. Сортировка стека с использованием другого стека

Вам нужно отсортировать стек, используя другой стек. Для этого вы можете использовать операции push и pop стека, Решение : Сортировка стека с помощью другого стека.

Очередь

Вопрос 5. Реализация очереди с использованием массива в java.

Вам нужно использовать массив для реализации очереди. Решение : Реализовать очередь с использованием массива в Ява

Вопрос 6: Реализуйте стек с использованием двух очередей.

Вам необходимо использовать связанный список для реализации очереди. Решение : Java-программа для реализации очереди с использованием связанного списка

Связанный список

Вопрос 7: Реализовать односвязный список на java.

Вам необходимо реализовать односвязные структуры данных списков. Вам нужно написать простую программу для демонстрации операций вставки, удаления. Решение : Java-программа для реализации односвязного списка на java.

Вопрос 8: Как изменить связанный список в java.

Вам нужно написать итеративное и рекурсивное решение для обратного связанного списка. Решение : Java-программа для обратного связанного списка на java.

Вопрос 9: Как найти средний элемент связанного списка.

Вам нужно написать java-программу, чтобы найти средний элемент связанного списка наиболее оптимальным способом. Решение : Java-программа для поиска среднего элемента связанного списка .

Вопрос 10: Как найти n-й элемент из конца связанного списка.

Вам нужно написать java-программу, чтобы найти n-й элемент связанного списка наиболее оптимальным способом. В вопросе 6 узел 7 является 3-м из последнего связанного списка. Решение : Как найти n-й элемент из конца связанного списка.

Вопрос 11: Как обнаружить цикл в связанном списке. Если в связанном списке есть цикл, найдите начальный узел для цикла.

Вам нужно написать java-программу, чтобы определить, существует ли какой-либо цикл в связанном списке, и если цикл существует, вам нужно найти начальный узел для связанного списка. Решение : Как обнаружить цикл в связанном списке . Как найти начальный узел цикла в связанном списке.

Вопрос 12: Как проверить, является ли связанный список палиндромом или нет?

Палиндром – это слово, фраза, число или другая последовательность символов или элементов, которые читаются одинаково вперед или назад. Например: 121 – это палиндром, поскольку он читается одинаково вперед или назад. мадам – это тоже палиндром. Поэтому нам нужно написать java-программы, чтобы проверить, является ли связанный список палиндромом или нет. Решение : Java-программа для проверки того, является ли связанный список палиндромом.

Вопрос 13: Найти пересечение двух связанных списков?

Учитывая два односвязных списка , найдите, пересекаются ли два связанных списка. Если они пересекаются, найдите точку пересечения. Решение: Пересечение двух связанных списков

Вопрос 14: Как поменять местами связанный список в парах?

Вам нужно написать java-программу для обратного связного списка в парах. Решение: Java-программа для обратного связанного списка в паре.

Вопрос 15: Реализовать двусвязный список в java?

Вам нужно написать java-программу для реализации двусвязного списка на java.

Решение: Двусвязный список на java

Массив

Вопрос 16: Напишите java-программу для поиска наименьшего и наибольшего элемента в массиве.

Вам дан массив целых чисел, содержащий от 1 до n, но одно из чисел от 1 до n в массиве отсутствует. Вам необходимо предоставить оптимальное решение для поиска недостающего номера. Номер не может быть повторен в приложении. Например:

int[] arr1={7,5,6,1,4,2};
Missing numner : 3
int[] arr2={5,3,1,2};
Missing numner : 4

Вопрос 17: Найдите недостающее число в массиве.

int[] arr1={7,5,6,1,4,2};
Missing numner : 3
int[] arr2={5,3,1,2};
Missing numner : 4

Вопрос 18: Поиск элемента в повернутом и отсортированном массиве.

int arr[]={16,19,21,25,3,5,8,10};

Вопрос 19: Найдите минимальный элемент в отсортированном и повернутом массиве.

int arr[]={16,19,21,25,3,5,8,10};
Minimum element in the array : 3

Если вы заметили, что массив отсортирован и повернут. Вам нужно ввести элемент в вышеуказанный массив за o(log n) временной сложности. Решение : Найти минимальный элемент в отсортированном и повернутом массиве

Вопрос 20: Найдите второе по величине число в массиве

Вам предоставляется отсортированный и повернутый массив, как показано ниже: Например:

int[] arr1={7,5,6,1,4,2};
Second largest element in the array : 6

Вопрос 21: Найдите число, встречающееся нечетное число раз в массиве

int array[] = new int[]{20, 40, 50, 40, 50, 20, 30, 30, 50, 20, 40, 40, 20};
Number which occurs odd number of times is : 50

Вопрос 22: Найдите минимальное количество платформ, необходимых для железнодорожной станции

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

arrival[] = {1:00, 1:40, 1:50, 2:00, 2:15, 4:00} 
departure[] = {1:10, 3:00, 2:20, 2:30, 3:15, 6:00}
No. of platforms required in above scenario = 4

Вопрос 23: Найдите пару, сумма которой ближе всего к нулю в массиве

array[]={1,3,-5,7,8,20,-40,6};
The pair whose sum is closest to zero :  -5 and 6

Вопрос 24: Учитывая отсортированный массив и число x, найдите пару в массиве, сумма которой ближе всего к x

array[]={-40,-5,1,3,6,7,8,20};
The pair whose sum is closest to 5 :  1 and 3

Вопрос 25: Найдите все пары элементов из массива, сумма которых равна заданному числу

array[]={ -40, -5, 1, 3, 6, 7, 8, 20 };
Pair of elements whose sum is equal to 15 :  7, 8 and -5, 20

Вопрос 26: Учитывая массив из 0 и 1 в случайном порядке, вам нужно разделить 0 и 1 в массиве.

arr[] = {0,1,0,0,1,1,1,0,1}
Array after separating 0 and 1 numbers :
{0,0,0,0,1,1,1,1,1}

Вопрос 27: Разделять четные и нечетные числа в массиве

arr[] = {12, 17, 70, 15, 22, 65, 21, 90}
Array after separating odd and even numbers :
{12, 90, 70, 22, 15, 65, 21, 17}

Вопрос 28: Дан массив, содержащий только нули, единицы и двойки. Напишите функцию для сортировки заданного массива за O(n) временной сложности.

Input :
[1, 2, 2, 0, 0, 1, 2, 2, 1]
 
Output :
[0, 0, 1, 1, 1, 2, 2, 2, 2]

Решение: Отсортировать массив из 0, 1 и 2 .

Вопрос 29: Найдите локальные минимумы в массиве

Локальный минимум меньше, чем у его соседей

Например:

Input :

int [] arr = {10, 5, 3, 6, 13, 16, 7};
Output: 2
 
int []arr = {11,12,13,14};
Output: 11
 
int []arr = {10};
Output: 10
 
int []arr = {8,6};
Output: 6

Вопрос 30: Максимальное раздвижное окно в Ява

Учитывая массив целых чисел и целое число k, найдите максимальный элемент из всех смежных подмассивов размера K.

Например:

Input :
Input : int[] arr = {2,6,-1,2,4,1,-6,5}
int k = 3
output : 6,6,4,4,4,5

Решение: Найдите локальные минимумы в массиве .

Вопрос 31: Подсчитайте количество вхождений (или частоту) каждого элемента в отсортированном массиве

Дан отсортированный массив целых чисел, содержащий дубликаты. Найдите частоту каждого уникального элемента, присутствующего в массиве. Частота определяется как количество встречаемости любого элемента в массиве.

Например:

Input :
Input:
int[] arr = {1, 1, 1, 3, 3, 4, 5, 5, 6, 6};
Output:
Frequency of 1 is : 3
Frequency of 3 is : 2
Frequency of 4 is : 1
Frequency of 5 is : 2
Frequency of 6 is : 2

Решение: Подсчитайте количество вхождений (или частоту) каждого элемента в отсортированном массиве .

Вопрос 32: Найдите подмассивы с заданной суммой в массиве.

Дан массив неотрицательных целых чисел и число. Вам нужно вывести все начальные и конечные индексы подмассивов, сумма которых равна заданному целому числу. Например:

Input :
Input-int[] arr = {2, 3, 6, 4, 9, 0, 11};
int num = 9
Output-
starting index : 1, Ending index : 2
starting index : 5, Ending index : 5
starting index : 5, Ending index : 6

Решение: Найдите подмассивы с заданной суммой в массиве .

Вопрос 33: Найдите пиковый элемент в массиве.

Пиковый элемент – это элемент массива, который БОЛЬШЕ/РАВЕН его соседям, то есть для элемента с i-м индексом соседние элементы с индексом i-1 и i+1 должны быть больше, чем равно элементу в i-й позиции.

Решение: Найдите пиковый элемент в массиве .

Вопрос 34: Найдите лидеров в массиве.

Нам нужно напечатать всех лидеров, присутствующих в массиве. Элемент является лидером, если он больше правой части элементов.

arr[]={14, 12, 70, 15, 99, 65, 21, 90}
Here 99 and 90 are leader elements

Например:

Решение: Найти лидеров в массиве .

Вопрос 35: Посчитайте 1 в отсортированном двоичном массиве.

Выведите число 1 в заданном отсортированном двоичном массиве. Например:

Input :
int[] arr = {0,0,0,1,1,1,1};
output : 4
int[] arr = {0,0,1};
output : 1

Решение: Посчитайте 1 в отсортированном двоичном массиве .

Вопрос 36: Найдите первый повторяющийся элемент в массиве целых чисел.

Найдите первый повторяющийся элемент в массиве целых чисел. Например:

Input :
Input: array[] = {10, 7, 8, 1, 8, 7, 6}
Output: 7 [7 is the first element actually repeats]

Решение: Найдите первый повторяющийся элемент в массиве целых чисел .

Вопрос 37: Проверьте, являются ли элементы массива последовательными.

Учитывая массив, нам нужно проверить, содержит ли массив последовательные элементы. Например:

Input: array[] = {5, 3, 4, 1, 2}
Output: true
As array contains consecutive elements from 1 to 5Input: array[] = {47, 43, 45, 44, 46}
Output: true
As array contains consecutive elements from 43 to 47Input: array[] = {6, 7, 5, 6}
Output: false
As array does not contain consecutive elements.

Решение: Проверьте, являются ли элементы массива последовательными .

Вопрос 38: Перестановки массива в java.

Учитывая массив различных целых чисел, выведите все перестановки массива. Например:

array : [10, 20, 30]

Permuations are :

[10, 20, 30]
[10, 30, 20]
[20, 10, 30]
[20, 30, 10]
[30, 10, 20]
[30, 20, 10]

Решение: Перестановки массива в java .

Вопрос 39: Поверните массив на K позиций.

Например:

N=6 and k=2
If Arr[] = {1, 2, 3, 4, 5, 6} and k=2
then rotated array will be  {5, 6, 1, 2,  3,  4}

Решение: Повернуть массив на K позиций .

Вопрос 40: Покупка и продажа акций для максимизации прибыли.

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

int arr[]={14, 12, 70, 15, 99, 65, 21, 90};
Max profit can be gain by buying at 1th day(0 based indexing) and sell at 4th day.
Max profit = 99-12 =87

Решение: Акции Покупают и продают, чтобы максимизировать прибыль .

Вопрос 41: Найдите максимальную разницу между двумя элементами таким образом, чтобы больший элемент появлялся после меньшего числа.

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

int arr[]={14, 12, 70, 15, 95, 65, 22, 30};
Max Difference =95-12 = 83

Решение: Максимальная разница между двумя элементами, так что больший элемент появляется после меньшего числа .

Вопрос 42: Поиск в отсортированной по строкам и столбцам матрице.

Учитывая отсортированную матрицу по строкам и столбцам, нам нужно выполнить поиск элемента с минимальной временной сложностью.

Решение: Поиск в отсортированной по строкам и столбцам матрице .

Вопрос 43: Смежный подмассив с наибольшей суммой.

Смежный подмассив с наибольшей суммой – это задача поиска смежного подмассива в одномерном массиве чисел, который имеет наибольшую сумму. Например:

for the sequence of values −2, 1, −3, 4, −1, 2, 1, −5, 4; the contiguous subarray with the largest sum is 4, −1, 2, 1, with sum 6

Решение: Непрерывный подмассив с наибольшей суммой .

Вопрос 44: Найдите непрерывный подмассив с суммой до заданного значения в массиве.

Учитывая массив положительных целых чисел и заданное значение X, найдите непрерывный подмассив, сумма которого равна X. Например:

arr[]={14, 12, 70, 15, 99, 65, 21, 90}; 
X =97.
Sum found between index 1 to 3
Elements are 12, 17 and 15

Решение: Найдите непрерывный подмассив с суммой до заданного значения в массиве .

Вопрос 45: Самый длинный общий префикс в массиве строк в java.

Учитывая массив положительных целых чисел и заданное значение X, найдите непрерывный подмассив, сумма которого равна X. Например:

String[] strArr={"java2blog","javaworld","javabean","javatemp"};
So Longest common prefix in above String array will be "java" as all above string starts with "java".

Решение: Самый длинный общий префикс в массиве строк в java .

Вопрос 46: Найдите все подмножества набора (power set) в java.

Учитывая набор различных целых чисел, arr возвращает все возможные подмножества (набор мощности). Например:

Input: nums = [1,2,3]
Output:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]

Решение: Найти все подмножества множества в java .

Строка

Вопрос 47: Как перевернуть строку в java? Можете ли вы написать программу без использования каких-либо встроенных методов java?

  • Использование для цикла
  • Использование рекурсии
  • Использование строкового буфера

Вопрос 48: Напишите java-программу, чтобы проверить, являются ли две строки анаграммой в java?

Решение: Две строки являются анаграммами, если они содержат одинаковые символы, но в разном порядке. Например: Ангел и Угол являются анаграммами Существует несколько способов проверить, являются ли строки анаграммами. Некоторые из них таковы:

  1. Использование строковых методов
  2. Использование массива.сортировка

Проверьте решение в проверьте, являются ли две строки анаграммой в java.

Вопрос 49: Напишите программу для проверки того, содержит ли строка все уникальные символы в java?

Решение: Вот несколько способов проверить, содержит ли строка все уникальные символы

  • С помощью HashSet
  • Использование методов indexOf и lastIndexOf для строки
  • Используя значение символов ascii.

Пожалуйста, обратитесь к полному решению по адресу проверьте, содержит ли строка все уникальные символы .

Вопрос 50: Как проверить, является ли одна строка вращением другой строки в java?

Решение: Давайте допустим, вы хотите проверить, являются ли str1 и str2 вращением друг друга или нет.

  1. Создайте новую строку с + str1
  2. Проверьте, содержит ли str3 | str2 или нет. если str3
  3. содержит str2, то str2 является вращением str1, иначе это не так

Вы можете найти полное решение по адресу проверьте, является ли одна строка вращением другой в java .

Вопрос 51: Как найти повторяющиеся символы в строке в java?

Решение: Вот решение для поиска повторяющихся символов в строке.

  1. Создайте Хэш-карту , и символ строки будет вставлен в качестве ключа, а его значение – в качестве значения.
  2. Если Hashmap уже содержит символ char, увеличьте его количество на 1, иначе поместите символ в HashMap.
  3. Если значение символа больше 1, это означает, что это повторяющийся символ в этой строке.

Пожалуйста, обратитесь к решению по адресу программа для поиска повторяющихся символов в строке .

Вопрос 52: Найти первый неповторяющийся символ в строке в java?

Решение: Есть много способов его найти. Некоторые из них таковы:

  • Использование LinkedHashMap
  • Используя методы indexOf и lastIndexOf.

Пожалуйста, найдите полное решение в найдите первый неповторяющийся символ в строке .

Вопрос 53: Найти все подстроки строки в java?

Решение: Java-программа для поиска всех подстрок строки. Например: Если ввод “abb”, то вывод должен быть “a”, “b”, “b”, “ab”, “bb”, “abb” Мы будем использовать метод подстроки класса String, чтобы найти всю подстроку. Пожалуйста, обратитесь к полному решению по адресу найдите все подстроки строки.

Вопрос 54: Найти длину строки без использования какого-либо встроенного метода в java?

Решение: Вы можете использовать блок try catch для перехвата исключения StringIndexOutOfBoundException, и когда это исключение возникнет, вы можете просто вернуть i (индекс, по которому вы получите исключение) Пожалуйста, обратитесь к полному решению по адресу найдите длину строки без встроенных методов .

Вопрос 55: Напишите программу для печати всех перестановок строк на java?

Решение: Вынимаем первый символ строки и рекурсивно вставляем в разные места перестановок оставшейся строки. Пожалуйста, найдите полное решение по адресу как найти все перестановки строк в java .

Бинарное дерево

Вопрос 56: Как вы можете перемещаться по двоичному дереву?

Существует три способа обхода двоичного дерева.

Вопрос 57: Напишите алгоритм для обхода двоичного дерева по порядку уровней?

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

Решение : Обход бинарного дерева по порядку уровней.

Вопрос 58: Напишите алгоритм для обхода бинарного дерева по спирали?

Вам нужно написать java-программу для обхода бинарного дерева по спиральному порядку

Решение : Спиральный порядок или зигзагообразный обход двоичного дерева.

Вопрос 59: Как вы можете напечатать конечные узлы двоичного дерева?

Вам нужно написать java-программу для печати всех конечных узлов двоичного дерева.

Конечные узлы для вышеуказанного двоичного дерева будут равны 5, 30, 55 , 70 Решение : Распечатать конечные узлы двоичного дерева.

Вопрос 60: Как посчитать конечные узлы двоичного дерева.

Вам нужно написать java-программу для подсчета конечных узлов двоичного дерева. Количество конечных узлов для двоичного дерева, используемого в вопросе 15, равно 5 . Решение : Подсчитать конечные узлы двоичного дерева.

Вопрос 61: Как напечатать все пути от корня до листа в двоичном дереве.

Вам нужно написать программу для печати всех путей от корня до листа.

Решение : Выведите все пути от корня к листу в двоичном дереве.

Вопрос 62: Как найти уровень узла в двоичном дереве

Учитывая узел, вам нужно найти уровень узла. Например: Уровень узла будет 3 для узла 70, используемого в вопросе 14. Решение : Найти уровень узла в двоичном дереве.

Вопрос 63: Как найти максимальный элемент в двоичном дереве.

Вам нужно написать java-программу, чтобы найти максимальный элемент в двоичном дереве. Решение : Найти максимальный элемент в двоичном дереве.

Вопрос 64: Как найти наименьшего общего предка (LCA) в двоичном дереве.

Вам нужно написать программу для поиска LCA в двоичном дереве.

Решение : Программа для поиска LCA в двоичном дереве.

Вопрос 65: Как выполнить обход границ двоичного дерева.

Напишите java-программу для обхода границ двоичного дерева, как показано на рисунке ниже.

Решение: Обход границ двоичного дерева.

Вопрос 66: Как вывести вертикальную сумму двоичного дерева?

Вам нужно найти сумму узлов, которые лежат в одном столбце.

Решение: Как вывести вертикальную сумму двоичного дерева .

Вопрос 67: Подсчитывать поддеревья с суммой, равной цели в двоичном дереве?

Дано Двоичное дерево и целое число. Вам нужно найти количество поддеревьев, у которых сумма всех его узлов равна заданному целому числу, то есть целевой сумме.

Решение: Подсчитайте поддеревья с суммой, равной цели в двоичном дереве .

Бинарное дерево поиска

Вопрос 68: Что такое двоичное дерево поиска?

Бинарное дерево поиска – это особый тип бинарного дерева , которое обладает следующими свойствами.

  • Узлы, которые меньше корневых, будут находиться в левом поддереве.
  • Узлы, которые больше корневых, будут правым поддеревом.
  • В нем не должно быть повторяющихся узлов
  • Как левое, так и правое поддерево также должно быть двоичным деревом поиска.

Вопрос 69: Можете ли вы написать алгоритм для вставки узла в двоичное дерево поиска.

Решение : Вставить узел в двоичное дерево поиска

Вопрос 70: Можете ли вы написать алгоритм для удаления узла в двоичном дереве поиска.

Вопрос 71: Как вы можете найти минимальные и максимальные элементы в двоичном дереве поиска?

Вопрос 72: Как найти наименьшего общего предка (LCA) в двоичном дереве поиска.

Вопрос 73: Найдите преемника по порядку в двоичном дереве поиска

Вопрос 74: Преобразование отсортированного массива в сбалансированный BST

Вопрос 75: Преобразование отсортированного связанного списка в сбалансированный BST

Вопрос 76: Проверьте, является ли двоичное дерево двоичным деревом поиска или нет в java

Сортировка

Вопрос 77: Напишите алгоритм для реализации пузырьковой сортировки?

Вопрос 78: Напишите алгоритм для реализации сортировки по вставке?

Вопрос 79: Напишите алгоритм для реализации сортировки по выбору?

Вопрос 80: Можете ли вы написать алгоритм сортировки слиянием, а также знаете ли вы сложность сортировки слиянием?

Вопрос 81: Знаете ли вы, как реализовать сортировку кучи?

Вопрос 82: Реализовать быструю сортировку в java?

Вопрос 83: Реализовать сортировку оболочки в java?

Вопрос 84: Реализовать сортировку подсчета в java?

Вопрос 85: Что такое бинарный поиск? Можете ли вы написать алгоритм для поиска элемента в отсортированном массиве с помощью двоичного поиска?

Диаграмма

Вопрос 86: Напишите алгоритм для выполнения поиска в глубину на графике.

Вопрос 87: Напишите алгоритм для поиска в ширину на графике.

Вопрос 88: Объясните алгоритм Дейкстры от источника до всех остальных вершин.

Решение: Алгоритм Дейкстры на java

Вопрос 89: Объясните алгоритм Беллмана Форда для нахождения кратчайшего расстояния

Решение: Алгоритм Беллмана Форда на java

Вопрос 90: Объясните алгоритм Крускала для нахождения минимального связующего дерева

Решение: Алгоритм Крускала

Динамическое программирование

Вопрос 91: Учитывая две строки, найдите самую длинную общую подстроку.

Решение: Самая длинная общая подстрока в java .

Вопрос 92: Даны две строки A и B. Найдите длину самой длинной общей подпоследовательности (LCS) заданных строк.

Решение: Самая длинная общая подпоследовательность в java

Вопрос 93: Учитывая матрицу, нам нужно посчитать все пути от верхнего левого до нижнего правого угла матрицы MxN. Вы можете двигаться либо вниз, либо вправо.

Решение: Подсчитайте все пути в матрице

Вопрос 94: Проблема редактирования расстояния в java

Учитывая две строки string1 и string2, String1 должна быть преобразована в String2 с заданными операциями, доступными за минимальное количество шагов. Использование любой из приведенных операций способствует увеличению количества шагов на единицу.

Разрешенными операциями являются: (i) Удалить : Эта операция позволяет удалить любой символ из строки. (ii) Вставить : Эта операция позволяет вставить один символ в любое место строки. (iii) Заменить : Эта операция позволяет заменить любой символ в строке на любой другой символ.

Решение: Редактировать проблему расстояния в java .

Вопрос 95: Проблема с разменом монет в java

Указана сумма, подлежащая выплате, и валюты для оплаты. Существует бесконечный запас каждой валюты, используя комбинацию которой, должна быть выплачена данная сумма. Выведите количество способов, которыми эта сумма может быть выплачена.

Решение: Проблема с разменом монет в java

Вопрос 96: Минимальное количество прыжков для достижения последнего индекса

Решение: Минимальное количество переходов для достижения последнего индекса .

Разнообразный

Вопрос 97: Что такое алгоритм и как рассчитать сложность алгоритмов.

Решение: Как рассчитать сложность алгоритма

Вопрос 98: Реализовать структуру данных trie на java.

Решение: Реализовать структуру данных trie на java.

Вопрос 99: Подсчитайте Факториальные конечные нули в java.

Решение: Подсчитывать Факториальные конечные нули в java

Вопрос 100: Наибольшая прямоугольная область на гистограмме.

Решение: Подсчитайте наибольшую прямоугольную область на гистограмме

Вопрос 101: Проверьте наличие сбалансированных круглых скобок в выражении на java.

Решение: проверьте наличие сбалансированных круглых скобок в выражении на java.

Вопрос 102: Что такое запоминание.

Решение: Запоминание гарантирует, что метод не выполняется более одного раза для одних и тех же входных данных, сохраняя результаты в структуре данных (обычно хэш-таблице, хэш-карте или массиве). Пример запоминания в java Источник: структура данных и алгоритм вопросов для интервью на java

Это все о вопросах, касающихся структуры данных и алгоритма вопросов для интервью. Пожалуйста, прокомментируйте, если вы хотите добавить какие-либо новые вопросы в приведенный выше список. Вам также может понравиться:

Оригинал: “https://dev.to/arpitmandliya/top-40-data-structures-and-algorithms-interview-questions-in-java-56kj”