Problem of the Day: Remove Duplicate Characters and Digits with Different Rules You are given a string s consisting of lowercase English letters and digits (0–9). You must transform the string in two steps: Characters (a–z): Traverse from left to right. Keep only the first occurrence of each character. Remove all later duplicates. Digits (0–9): Traverse from right to left. Keep only the first digit you encounter (the rightmost occurrence in the original string). Remove earlier duplicates. Return the final transformed string. 1.Input: programming123321 After Step1: progamin123321 Final: progamin321 (keeps the rightmost 1,2,3 — final digits appear as the left-to-right order of their last occurrences) 2. Input: abc11223344 After Step1: abc11223344 Final: abc1234 3. Input: a1b2c1d2e3 After Step1: a1b2c1d2e3 Final: abc1d2e3
import java.util.HashMap;
ReplyDeleteclass Ques54{
public static void main(String[] args){
int[] arr={1,7,1,1,2,2,2,3,3,5,5};
//int[] arr={1,1,2,2,2,3};
HashMapmap=new HashMap<>();
for(int i=0;imap1=new HashMap<>();
for(int key:map.keySet()){
if(map1.containsKey(map.get(key))){
map1.put(map.get(key),map1.get(map.get(key))+(key*map.get(key)));
}else{
map1.put(map.get(key),key*map.get(key));
}
}
System.out.println(map1);
}
}