Упражнения на Java: удалите повторяющиеся буквы и расположите их в лексикографическом порядке
Java Basic: упражнение-200 с решением
Напишите Java-программу для удаления повторяющихся букв и упорядочения в лексикографическом порядке из заданной строки, которая содержит только строчные буквы.
Примечание. В математике лексикографический или лексикографический порядок (также известный как лексический порядок, словарный порядок, алфавитный порядок или лексикографический (al) продукт) представляет собой обобщение порядка слов в алфавитном порядке на основе алфавитного порядка их составных букв.
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.*;
import java.lang.*;
public class Solution {
public static void main(String[] args) {
String str ="zxywooxz";
System.out.print("Original string: " + str);
System.out.print("\nAfter removing duplicate characters: " + remove_duplicate_letters(str));
}
public static String remove_duplicate_letters(String str1) {
int[] ctr = new int[26];
boolean[] in_stack = new boolean[26];
char[] st_char = new char[str1.length()];
int len = 0;
for (char c: str1.toCharArray()) {
ctr[c - 'a']++;
}
for (char c: str1.toCharArray()) {
ctr[c - 'a']--;
if (!in_stack[c - 'a']) {
while (len > 0 && c < st_char[len - 1] && ctr[st_char[len - 1] - 'a'] > 0) {
in_stack[st_char[--len] - 'a'] = false;
}
st_char[len++] = c;
in_stack[c - 'a'] = true;
}
}
return new String(st_char, 0, len);
}
}
Пример вывода:
Исходная строка: zxywooxz После удаления повторяющихся символов: xywoz
Блок - схема:
Редактор кода Java:
Компания: Google
Внесите свой код и комментарии через Disqus.
Previous: написать программу на Java, чтобы получить позицию заданного простого числа.
Далее: Напишите программу на Java, чтобы разделить данный массив целых чисел на заданные k непустых подмножеств, все суммы которых равны. Вернуть true, если все суммы равны, иначе вернуть false.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования