Good morning! Here's our prompt for today.
You're given an array of strings containing alphabetical characters and certain $
characters. A $
represents a DELETE action whereby the character before it is deleted.
Each of these strings will be run through a method to operate on the $
DELETE action. We want to find out if the final string is the same for all of them. Let's take an example:
1String[] input = {"f$st", "st"};
2isDollarDeleteEqual(input);
3// true
4// true because both become "st"

Can you find a solution in O(n)
time and constant
space?
Constraints
- The input arrays can be of any size
- Every string has at least a single character
- The string will consist of dollar signs and lowercase alphabets
- Expected overall time complexity :
O(n)
- Expected space complexity :
O(n)
for good solution,O(1)
for asymptotically optimal solution
Try to solve this here or in Interactive Mode.
How do I practice this challenge?
xxxxxxxxxx
68
​
import org.junit.Test;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
​
import static org.junit.Assert.*;
​
// solution
​
class Solution {
​
public static boolean isDollarDeleteEqual(String[] arr) {
// fill in
// with solution
return false;
}
​
private static String getFinalStr(String str) {
// fill in
// with solution
return str;
}
​
// print your findings using this function!
public static void log() {
String[] input = new String[] {"f$st", "st"};
System.out.println(isDollarDeleteEqual(input));
}
​
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment
Here's our guided, illustrated walk-through.
How do I use this guide?
Access all course materials today
The rest of this tutorial's contents are only available for premium members. Please explore your options at the link below.