Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,41 @@
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
// Title: Determine if a string has all unique characters
|
||||
|
||||
public class StringUniqueCharacters {
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.printf("%-40s %2s %10s %8s %s %s%n", "String", "Length", "All Unique", "1st Diff", "Hex", "Positions");
|
||||
System.out.printf("%-40s %2s %10s %8s %s %s%n", "------------------------", "------", "----------", "--------", "---", "---------");
|
||||
for ( String s : new String[] {"", ".", "abcABC", "XYZ ZYX", "1234567890ABCDEFGHIJKLMN0PQRSTUVWXYZ"} ) {
|
||||
processString(s);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void processString(String input) {
|
||||
Map<Character,Integer> charMap = new HashMap<>();
|
||||
char dup = 0;
|
||||
int index = 0;
|
||||
int pos1 = -1;
|
||||
int pos2 = -1;
|
||||
for ( char key : input.toCharArray() ) {
|
||||
index++;
|
||||
if ( charMap.containsKey(key) ) {
|
||||
dup = key;
|
||||
pos1 = charMap.get(key);
|
||||
pos2 = index;
|
||||
break;
|
||||
}
|
||||
charMap.put(key, index);
|
||||
}
|
||||
String unique = dup == 0 ? "yes" : "no";
|
||||
String diff = dup == 0 ? "" : "'" + dup + "'";
|
||||
String hex = dup == 0 ? "" : Integer.toHexString(dup).toUpperCase();
|
||||
String position = dup == 0 ? "" : pos1 + " " + pos2;
|
||||
System.out.printf("%-40s %-6d %-10s %-8s %-3s %-5s%n", input, input.length(), unique, diff, hex, position);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.OptionalInt;
|
||||
import java.util.Set;
|
||||
|
||||
public final class DetermineUniqueCharacters {
|
||||
|
||||
public static void main(String[] aArgs) {
|
||||
List<String> words = List.of( "", ".", "abcABC", "XYZ ZYX", "1234567890ABCDEFGHIJKLMN0PQRSTUVWXYZ" );
|
||||
|
||||
for ( String word : words ) {
|
||||
Set<Integer> seen = new HashSet<Integer>();
|
||||
OptionalInt first = word.chars().filter( ch -> ! seen.add(ch) ).findFirst();
|
||||
if ( first.isPresent() ) {
|
||||
final char ch = (char) first.getAsInt();
|
||||
final String hex = Integer.toHexString(ch).toUpperCase();
|
||||
System.out.println("Word: \"" + word + "\" contains a repeated character.");
|
||||
System.out.println("Character '" + ch + "' (hex " + hex + ") occurs at positions "
|
||||
+ word.indexOf(ch) + " and " + word.indexOf(ch, word.indexOf(ch) + 1));
|
||||
} else {
|
||||
System.out.println("Word: \"" + word + "\" has all unique characters.");
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue