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
class Notpalindrome {
ReplyDeletepublic static void main(String[] args) {
String s1 = "he knows malayalam";
String[] words = s1.split(" ");
for (String word : words) {
if (!isPalindrome(word)) {
System.out.print(word + " ");
}
}
}
static boolean isPalindrome(String word) {
int left = 0, right = word.length() - 1;
while (left < right) {
if (word.charAt(left) != word.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
}