Mein Ziel ist die Umkehr der ganzen Zahl ohne doppelte Ziffer in Java Wie verbessere ich die Komplexität des Codes oder gibt es einen guten/Standard-Algorithmus?Umgekehrte Integer-Zahl ohne doppelte Ziffer in Java
Incase von doppelter Ziffer, sollte es letzte Ziffer
public static void main(String[] args) {
int n = -19890;
System.out.println(reverseNumberWithoutDuplicate(n));
}
public static int reverseNumberWithoutDuplicate(int number) {
boolean isNegative = (number < 0);
number = isNegative ? number * -1 : number;
Set<Character> lookup = new HashSet<>();
StringBuffer sb = new StringBuffer();
char[] digits = String.valueOf(number).toCharArray();
for (int i = digits.length - 1; i >= 0; --i) {
if (lookup.contains(digits[i])) {
continue;
}
sb.append(digits[i]);
lookup.add(digits[i]);
}
return isNegative ? Integer.parseInt(sb.toString()) * -1 : Integer.parseInt(sb.toString());
}
Erwartete Ausgabe erhalten: -981
Können Sie geben, was Sie wollen, die Ausgabe zu sein? Für '-19890' willst du' 981' oder '891'? –
Was meinst du mit "ohne doppelte Nummer"? –
eine Ziffer sollte einmal kommen. –