Sat
BAN USER
- 0of 0 votes
AnswersFind valid bracket from provided string. Only { [ ( are involved as brackets. A valid bracket contains with a enclose companion.
- Sat in India
Example: {} is valid, [[] Invalid
Input: {[()]}[]() Result: Valid
Input: {}[]()( Result: Invalid| Report Duplicate | Flag | PURGE
abc Senior Software Development Engineer
private void rotate(){
// Copy a item to the next using a temp variable that keeps the target value
int i=0, j=0;
int temp, dataToStore = data[i][j];
while(true){
int[] nextIdxs = rotateClockwise(i, j);
i = nextIdxs[0];
j = nextIdxs[1];
temp = data[i][j]; // For storing the data in next iteration.
data[i][j] = dataToStore;
dataToStore = temp;
if(i == 0 && j == 0){
break;
}
}
}
private int[] rotateClockwise(int i, int j){
if(i== 0 && j<(data[i].length-1)){
// Increment j
++j;
} else if(i < (data.length -1) && j == (data[i].length-1)){
// Increment i
++i;
} else if(i == (data.length-1) && j > 0){
// Decrement j
--j;
} else if(i > 0 && j == 0){
// Decrement i
--i;
}
System.out.println(i + " " + j);
return new int[]{i,j};
}
private void searchInts(int[] data, int N){
result = new LinkedList<Integer>();
for(int i=0; i <data.length;i++){
add(data[i], N);
}
}
private void add(int data, int N) {
// If result already has the data or result's least index has higher data, then
// the param data can be ignored.
if(result.contains(data) || (result.size() == N && result.get(N-1) > data)){
return;
}
if (result.size() > 0) {
for(int i=0; i<result.size(); i++){
if(result.get(i) < data){
result.add(i, data);
break;
}
}
} else {
result.add(data);
}
// Remove the extra (above N) data.
if (result.size() > N) {
result.remove(N);
}
}
String data = "abcdefsdbcdefghmnxyz";
StringBuffer result = new StringBuffer();
StringBuffer temp = new StringBuffer();
for(int i=0; i< data.length(); i++){
int startIdx = i;
while((i+1< data.length()) && (data.charAt(i)+1 == data.charAt(i+1))){
i++;
}
if(startIdx != i){
temp.append(data.substring(startIdx, i+1));
if(temp.length() > result.length()){
result = temp;
}
temp = new StringBuffer();
}
}
System.out.println(result);
// [4, 5, 6, 7, 8, 9, 12, 15, 16, 17, 18, 20, 22, 23, 24, 27]
private void accumulateSeqNos(int[] data){
List<String> result = new ArrayList<String>();
for(int i=0; i<data.length; i++){
int head = data[i];
while(i+1 < data.length){
// Loop to find the range of consecutive
if((data[i] + 1 != data[++i])){
i--;
break;
}
}
if(head != data[i]){
result.add("{" + head + " : " + data[i] + "}");
}
}
for(int i=0; i<result.size(); i++){
System.out.println(result.get(i));
}
}
The above code doesn't handle the uniqueness.
public static void main(String...args){
List<Integer> numbers = new ArrayList<Integer>();
Test test = new Test();
for(int i=0; i< 5; i++){
int random = test.generateRandom(5);
while(numbers.contains(random)){
random = test.generateRandom(5);
}
numbers.add(random);
}
for(int i = 0; i< numbers.size(); i++){
System.out.println(numbers.get(i));
}
}
private int generateRandom(int range){
Random random = new Random(System.currentTimeMillis());
return random.nextInt(range);
}
void panlindrome(String in){
in = trim(in);
for(int i=0, j=in.length()-1; i < j; i++, j--){
if(in.charAt(i) != in.charAt(j)){
System.out.println("False");
return;
}
}
System.out.println("True");
}
String trim(String in){
in = in.toLowerCase();
StringBuilder builder = new StringBuilder(in.trim().length());
for(int i=0; i< in.length(); i++){
char ch = in.charAt(i);
if((ch >= 65 && ch <= 90) || (ch >= 97 && ch <= 122)){
builder.append(ch);
}
}
return builder.toString();
}
void countText(String in){
StringBuilder builder = new StringBuilder();
for (int i = 0; i < in.length();) {
char temp = in.charAt(i);
int count = 0;
while(in.indexOf(temp, i) != -1) {
temp = in.charAt(i);
i++;
count++;
}
builder.append(temp);
if(count > 1){
builder.append(count);
}
}
System.out.println(builder.toString());
}
- Sat April 16, 2018