--- tags: Java, Collection --- # NKUST 2021123: ## :memo: Todo List https://mail.google.com/chat/u/0/#chat/space/AAAAu5pS4mA ### :snowboarder: Clone your repo EX: ```git= git clone https://github.com/yourname/NKUST.git ``` open your folder by intelliJ ### :snowboarder: Arrays https://www.w3schools.com/java/java_arrays.asp ### :snowboarder: ArrayList https://www.w3schools.com/java/java_arraylist.asp ### :snowboarder: HashSet https://www.w3schools.com/java/java_hashset.asp ### :snowboarder: java_hashmap https://www.w3schools.com/java/java_hashmap.asp ### :snowboarder: Java String charAt() Method https://www.w3schools.com/java/ref_string_charat.asp ### :snowboarder: Java String indexOf() Method https://www.w3schools.com/java/ref_string_indexof.asp # Exercise: 1. Write Java code to find a string of characters that contains only letters from: cdefghijlmnoqstuvxz where hashing the string produces: 6933552791181934L If the hash function is defined by the following pseudo-code: ```java= class UnHash{ public static void main (String[] args) { System.out.println(revHash(6933552791181934L)); System.out.println(hash("justdoit")); //574318821802 } public static String letters = "cdefghijlmnoqstuvxz"; public static String revHash(long hash) { // write the code here } public static long hash(String s){ long h = 7; for (int i = 0; i < s.length(); i++){ h = h * 23 + letters.indexOf(s.charAt(i)); } return h; } } ``` For example, if we were trying to find the string where hashing the string produced 574318821802, the answer would be "justdoit". 2. Remove Duplicates from Sorted Array #### Example 1: Input: nums = [1,1,2] Output: 2, nums = [1,2,_] Explanation: Your function should return k = 2, with the first two elements of nums being 1 and 2 respectively. It does not matter what you leave beyond the returned k (hence they are underscores). #### Example 2: Input: nums = [0,0,1,1,1,2,2,3,3,4] Output: 5, nums = [0,1,2,3,4, _ , _ , _ , _ , _] Explanation: Your function should return k = 5, with the first five elements of nums being 0, 1, 2, 3, and 4 respectively. It does not matter what you leave beyond the returned k (hence they are underscores).