В недавнем интервью меня попросили написать нижеприведенную программу. Выясните характер, частота которого минимальна в данной строке? Поэтому я попытался выполнить итерацию по строке с помощью charAt и сохранения символа в качестве ключа в HashMap и числа вхождений в качестве значения. Теперь снова нужно выполнить итерацию на карте, чтобы найти самый нижний элемент.
Есть ли более эффективный способ сделать это, так как очевидно, что вышеупомянутый слишком интенсивный, я думаю.
Обновление и другое решение
После некоторого мыслительного процесса и ответов я думаю, что лучшее время, что это может быть, - O (n). В первой итерации нам придется перебирать символ String по символу, а затем сохранять их частоту в массиве в определенной позиции (символ - int), и в то же время имеют две временные переменные, которые сохраняют наименьшее количество и соответствующий символ. Поэтому, когда я перехожу к следующему символу и сохраняю его частоту в arr [ char] = arr [char] + 1; в то же время я проверю, имеет ли переменная temp значение больше этого значения, если да то вариация temp будет этим значением, а также будет char. Таким образом, я предполагаю, что нам не нужна вторая итерация, чтобы найти наименьшую, а также сортировку не требуется. Думаю,
.... Ват сказал? Или больше решений