Given a dataset of strings containing only parentheses, characters '(' and ')', the data represented by the string is valid if it is a balanced bracket sequence. One adjustment to the string can be made: at most one bracket can be moved from its original place to any other position in the string. The task is to determine whether, for each string, it is possible to balanced the bracket sequence in 1 move or less. Return an array of the size of the dataset, where the j^th integer is 1 if the string can be converted into a balanced string, and 0 otherwise.
Note: A string s is a balanced bracket sequence if:
Function Description
Complete the function isConvertibleData
in the editor.
isConvertibleData
takes the following parameter(s):
String[] dataset
: the dataset where each string contains characters ')' and '('
Returns
int[]
: an array of integers, where the j^th integer is 1 if the corresponding string can be transformed into a balanced bracket sequence and 0 otherwise
૮꒰ ˶• ༝ •˶꒱ა ♡ Credit to Charlotte
Example 1:
Input: dataset = [")(", "(()", "()"]
Output: [1, 0, 1]
Explanation:For the first string ")(", applying the operation to move the first bracket to the end results in "()", which is a balanced bracket sequence. For the second string "(()", it is impossible to convert it into a balanced bracket sequence. For the third string "()", it is already a balanced bracket sequence. Hence, the answer is [1, 0, 1].
- 1 ≤ n ≤ 2 * 10^5
- 1 ≤ |dataset[i]| ≤ 2 * 10^5
- n ≤ Σ|dataset[i]| ≤ 2 * 10^5
- It is guaranteed that each string dataset[i] consists of characters '(' and ')' only

input:
output: