One More Logic “Reverse String”
question is
given a String like
i am arun kumar gupta and how are you guys
we want the reverse of String
like
syug uoy era woh dna atpug ramuk nura ma i
so i am giving code of the Algo
import java.util.*;
import java.lang.*;
public class ReverseString
{
public static void main (String [] args )
{
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
int len = input.length();
//System.out.println(len);
//char inputc[] = new char[len];
char[] cArray = new char[len+1];
cArray = input.toCharArray();
/*for(int i = 0 ; i
{
System.out.print(cArray[i]);
}*/
int start = 0, end = 0 ;
char temp = cArray[0];
reverse(cArray , len-1 ,start);
System.out.println(“\n”);
/*for(int i = 0 ; i
{
System.out.print(cArray[i]);
}*/
System.out.println(“\n”);
cArray[len-1] = ‘ ‘;
while(true)
{
if(cArray[end] != ‘ ‘)
{
++end;
}
if((cArray[end] == ‘ ‘ ) /*|| (end == len+1)*/)
{
//System.out.println(end);
reverse(cArray , end-1 ,start);
start = end+1;
end = end+1;
//System.out.println(end);
if(end == len)
break;
}
}
cArray[len-1] = temp;
for(int i = 0 ; i
{
System.out.print(cArray[i]);
}
//System.out.print(temp);
System.out.println(“\n”);
}
static void reverse(char cArray[] , int end , int start)
{
//int end = len;
//int start = start ;
char temp = ‘a’;
while((end > start)||(end == start))
{
temp = cArray[start];
cArray[start] = cArray[end];
cArray[end] = temp;
–end;
++start;
}
}
}
Solution of Taddy and Tracy Competition
I have Written this code by myself so please go through this ……
import java.util.*;
import java.lang.*;
import java.io.*;
public class AStringGame {
public static void main (String [] args)
{
HashMap hm = new HashMap();
String turn = new String(“Taddy”);
Scanner sc = new Scanner(System.in);
int test_case = sc.nextInt();
Set set = hm.entrySet();
//bool last = true;
Iterator ik = set.iterator();
int who = 0; // 0 teddy 1 1 tracy
int left = 0;
for(int i = 0 ; i
{
//String arr = new String(“array”+i+”string”);
//System.out.println(“\n”+arr);
//int ” arr”[] = new int[20];
String input = sc.next();
int len =input.length();
char[] iArray = input.toCharArray();
int inputs = sc.nextInt();
for(int j = 0 ; j< inputs ; ++j)
{
String arr = new String(“array”+i+”:”+j+”string”);
//System.out.println(“\n”+arr);
hm.put(arr,new String( sc.next()));
//System.out.println(hm.get(arr));
String in = (String) hm.get(arr);
int lenn = in.length();
//System.out.println(“:::::::”+lenn);
who = 0 ;
int t = 0;
int ine = 0;
char[] aArray = in.toCharArray();
int start = 0 , end = 0;
for(int k = 0 ; k
{
if(iArray[k] == aArray[0])
{
int counter = k;
start = k;
while(t < lenn)
{
if(iArray[counter] == aArray[t])
{
//System.out.println(“startinput:”+counter+”\t:check string “+t );
who = 1;
end = counter;
if((lenn -1) ==(t) )
{
//System.out.println(“Hey i am also here in if “);
//System.out.println(“\nSome 1 Won”);
t =9898;
left = inputs -1;
//System.out.println(“Left *********************:”+left);
if(ine == 0)
{
turn = “Tracy”;
ine = 1;
}else
{
turn = “Taddy”;
ine = 0;
}
for(int gg = start ; gg <= end ;++gg)
{
iArray[gg] = ‘\0’;
}
break;
//System.out.println(“Hey i am also here in if “);
}
//System.out.printf(“\nInside\n”);
++counter;
++t;
}
else if(t< lenn)
{
//System.out.println(“\nI am also here \n”);
//System.out.println(“\n Some one is going to looseclea”);
t =0;
counter = 0;
who = 0;
//left = left +1;
break;
}
if(t == (len-1) )
{ break; }
}
}
if(t == (len-1) )
{ break; }
}
if(who == 0)
{
int oo = 0;
//System.out.println(“Success Success”);
}
}
/*while(ik.hasNext()) {
//Map.Entry me = (Map.Entry)ik.next();
System.out.print(hm.getKey() + “: “);
System.out.println(hm.getValue());
} */
/*if ((left%2) == 0)
{
System.out.println(“Tracy”);
}
else
System.out.println(“Taddy”);
*/
System.out.println(“\n”+turn);
}
}
}
Tracy and Taddy Competition (Algo Problem)
Input
Output
Example
Input:
3
codechef
2
code
chef
foo
1
bar
mississippi
4
ssissi
mippi
mi
ppi
Output:
Tracy
Tracy
Teddy
Constraints
- 1 <= T <= 5
- 1 <= N <= 30
- 1 <= |S| <= 30
- 1 <= |wi| <= 30
- S and wi contain only characters ‘a’-‘z’
Algorithm Problem
Our Chef is very happy that his son was selected for training in one of the finest culinary schools of the world. So he and his wife decide to buy a gift for the kid as a token of appreciation. Unfortunately, the Chef hasn’t been doing good business lately, and is in no mood on splurging money. On the other hand, the boy’s mother wants to buy something big and expensive. To settle the matter like reasonable parents, they play a game.
They spend the whole day thinking of various gifts and write them down in a huge matrix. Each cell of the matrix contains the gift’s cost. Then they decide that the mother will choose a row number r while the father will choose a column number c, the item from the corresponding cell will be gifted to the kid in a couple of days.
The boy observes all of this secretly. He is smart enough to understand that his parents will ultimately choose a gift whose cost is smallest in its row, but largest in its column. If no such gift exists, then our little chef has no option but to keep guessing. As the matrix is huge, he turns to you for help.
He knows that sometimes the gift is not determined uniquely even if a gift exists whose cost is smallest in its row, but largest in its column. However, since the boy is so smart, he realizes that the gift’s cost is determined uniquely. Your task is to tell him the gift’s cost which is smallest in its row, but largest in its column, or to tell him no such gift exists.
Input
First line contains two integers R and C, the number of rows and columns in the matrix respectively. Then follow R lines, each containing C space separated integers – the costs of different gifts.
Output
Print a single integer – a value in the matrix that is smallest in its row but highest in its column. If no such value exists, then print “GUESS” (without quotes of course)
Constraints
1 <= R, C <= 100
All gift costs are positive and less than 100000000 (10^8)
Example 1
Input:
2 3
9 8 8
2 6 11
Output:
8
Example 2
Input:
3 3
9 8 11
2 6 34
5 9 11
Output:
GUESS
Example 3
Input:
2 2
10 10
10 10
Output:
10
a mouse is at one end of the table say (0,0) and table is divided in to the grids ,some blocks are blocked
so it does not know . when he is mowing then it came to know that way is blocked …..
find a algo and write the code to send the mouse to (n,n) position means at last.
below is the code i made by me only ‘
Arun Kumar Gupta cc
import java.util.*;
public class Mouse
{
public static void main (String [] args)
{
//public int backtrack(int r , int t) ;
Scanner sc = new Scanner(System.in);
//System.out.println(“Please Enter the Value for Square Array :”);
//int table = sc.nextInt();
//System.out.println(“Array is of” +table+”*”+table);
int table = 5;
int row = 7 , colum = 7;
int table1 [] [] = new int[table+2][table+2];
int i =0 , j =0;
for( i = 0 ; i< (row) ; ++i)
{
for( j = 0 ; j< (colum) ; ++j)
{
//System.out.print(“i am here”);
if((i == 0) || (i == (row -1) ))
{
//System.out.print(“i am here”);
table1[i][j] = 0;
}
else if((j == 0) || (j == (colum -1) ))
{
table1[i][j] = 0;
}
else {
table1[i][j] = 1;
}
}
}
for( i = 0 ; i< (row) ; ++i)
{
for( j = 0 ; j< (colum) ; ++j)
{
System.out.print(“\t”+table1[i][j]);
}
System.out.println(“\n”);
}
System.out.println(“\n”);
System.out.println(“\n”);
table1[1][2] = 0;
table1[2][2] = 0;
table1[4][0] = 0;
table1[4][1] = 0;
table1[3][4] = 0;
table1[4][4] = 0;
table1[5][4] = 0;
for( i = 0 ; i< (row) ; ++i)
{
for( j = 0 ; j< (colum) ; ++j)
{
System.out.print(“\t”+table1[i][j]);
}
System.out.println(“\n”);
}
i = 1;
j = 1;
int dx = 1;
int dy = 1;
int pdx = 1 ,pdy = 1;
for(i =1 ; i <= (row *colum) ; ++i)
{
if((dx < row)&& (dy < row))
{
if((dx == (row -2)) && (dy == (colum -2)))
{
System.out.print(“\n\n\n\n\nFinally Mouse At the End\n\n\n “);
for( i = 0 ; i< (row) ; ++i)
{
for( j = 0 ; j< (colum) ; ++j)
{
System.out.print(“\t”+table1[i][j]);
}
System.out.println(“\n”);
}
System.exit(0);
}
if( table1[dx][dy+1] == 0)
{
System.out.print(“i am here ” +dx+ “:” +dy+ “\t0\n”);
table1[dx][dy] = 9;
dx = dx +1;
if(dx == (row-1))
{
dx = dx-1;
}
}
if((dx == (row -2)) && (dy == (colum -2)))
{
System.out.print(“\n\n\n\n\nFinally Mouse At the End\n\n\n “);
for( i = 0 ; i< (row) ; ++i)
{
for( j = 0 ; j< (colum) ; ++j)
{
System.out.print(“\t”+table1[i][j]);
}
System.out.println(“\n”);
}
System.exit(0);
}
if (table1[dx][dy+1] == 1)
{
System.out.print(“i am here ” +dx+ “:” +dy+ “\t1\n” );
table1[dx][dy] = 9;
dy = dy +1;
continue ;
}
else if ((table1[dx][dy+1] == 0 ) && (table1[dx+1][dy] == 0))
{
System.out.print(“i am here goint to call Back track with “+dx+ “:”+dy+”:”);
int roww = backtrack(dx ,dy , table1 , row , colum);
dx = roww;
continue;
}
}
}
}
public static int backtrack(int r , int t , int[][] arr , int row , int colum )
{
System.out.print(“I am at back tecrk \n”);
for( int u = 0 ; u<(row *colum) ; ++u)
{
if(arr[r-1][t +1] == 0)
{
arr[r][t] = 1;
r =r-1;
System.out.print(“i am here Back track ” +r+ “:” +t+ “\t1\n” );
continue;
}
else if(arr[r-1][t +1] == 1)
{
System.out.print(“i am here Back track ” +r+ “:” +t+ “\t1\n” );
r = r -1;
break ;
}
}
return r;
}
}
Parenthesis Checking Code
i made a code of Parenthesis Checking it’s order is of the order is only O(n)
see this code and enjoy really ……. cc Arun Kumar Gupta Only.
import java.util.*;
import java.lang.*;
import java.io.*;
public class Stack
{
public static void main (String [] args)
{
Scanner sc = new Scanner(System.in);
System.out.println(“Entere Combination”);
String Input = sc.next();
System.out.println(“Entered Values \t” + Input);
int len =Input.length();
char[] iArray = Input.toCharArray();
String cArray[] = new String[len];
for(int j = 0 ; j < len ; j++)
{
cArray[j] =Character.toString(iArray[j]) ;
}
int l =0, m=0 ,u =0;
int ru = 0, rm= 0, rl = 0 ;
String upper1 = “[” ;
String middle1 = “{” ;
String lower1 = “(” ;
String upper2 = “]” ;
String middle2 = “}” ;
String lower2 = “)” ;
for(int j = 0 ; j < len ; j++)
{
System.out.print(“\t”+cArray[j]);
}
System.out.print(“\n”);
for(int j = 0 ; j < len ; j++)
{
//System.out.print(“\t”+cArray[j]);
if(cArray[j].equals(upper1))
{
//System.out.print(“i am here [“);
++u;
ru = 1;
rm= 0;
rl =0;
}
if(cArray[j].equals(middle1))
{
++m;
rm =1;
ru = 0;
rl = 0;
}
if(cArray[j].equals(lower1))
{
++l;
rl =1;
ru = 0;
rm = 0;
}
if(cArray[j].equals(upper2))
{
u = u-1;
if((rm == 0) && (rl == 0))
{
ru= 0;
}
}
if(cArray[j].equals(middle2))
{
m = m-1;
if((ru == 0) && (rl == 0))
{
rl = 0;
}
}
if(cArray[j].equals(lower2))
{
l = l-1;
if((rm == 0) && (ru == 0))
{
rl = 0;
}
}
}
System.out.println(” Count Upper :” +u+”\n” );
System.out.println(” Count Middle :” +m+ “\n”);
System.out.println(” Count Lower :” +l+ “\n”);
if((u == 0)&&(m ==0)&&(l ==0))
{
System.out.println(“Everything is ok !!!! No error”);
}
else
System.out.println(“Some Error is there “);
}
}