Alternating Characters
Problem
https://www.hackerrank.com/challenges/alternating-characters/problem
Difficulty: Easy
Solution
Iterative
Method: Iteratively eliminate adjasent duplicates inplace
Language: C++
Time complexity: O((Length of Array)2)
Space complexity: Constant
Test result: 14/14
// Fingerprint function
int alternatingCharacters(string s) {
int n = s.length();
int n_init = n;
int i = n-1;
while(true){
if(s[i] == s[i-1]){
s.erase(i, 1);
n--;
} else {
i--;
}
if(i == 0) break;
}
return n_init - n;
}