Philips Interview Question
Backend DevelopersCountry: India
package test;
import java.util.ArrayList;
import java.util.List;
public class GaneshTest2 {
public static void main(String[] args) {
int sum=121;
int firstNum=0;
int secondNum=0;
int thridNum=sum/11;
List<Integer> firstList=new ArrayList<Integer>();
List<Integer> secondList=new ArrayList<Integer>();
for (int i=1;i<=9;i++){
for (int j=1;j<=9;j++){
int addtion4thirdnum=i+j;
if(addtion4thirdnum==thridNum){
firstList.add(i);
secondList.add(j);
}
}
}
for (int i=0;i<firstList.size();i++){
int tempFirstNum=Integer.parseInt(String.valueOf(firstList.get(i)).concat(String.valueOf(secondList.get(i))));
int tempSecondNum=Integer.parseInt(String.valueOf(secondList.get(i)).concat(String.valueOf(firstList.get(i))));
if( (tempFirstNum+tempSecondNum) == sum){
firstNum=tempFirstNum;
secondNum=tempSecondNum;
}
}
System.out.println("firstNum: "+firstNum);
System.out.println("secondNum: "+secondNum);
}
}
import java.util.Scanner;
public class Solution
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String[] inp = str.split(",");
System.out.println(isSpecial(inp,inp.length));
}
public static int isSpecial(String[] inp, int inpSize)
{
int arr[] = new int[inp.length];
for(int i=0;i<inpSize;i++)
{
arr[i] = Integer.parseInt(inp[i]);
}
int spclCount = 0;
for(int i=0;i<arr.length;i++)
{
for(int j=1;j<((arr[i]/2)+1);j++)
{
if(j+getReverse(j) == arr[i])
{
spclCount++;
break;
}
}
}
return spclCount;
}
public static int getReverse(int n)
{
int rem,rev=0;
while(n != 0)
{
rem = n % 10;
rev = (rev*10) + rem;
n /= 10;
}
return rev;
}
}
import java.util.Scanner;
public class Solution
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String[] inp = str.split(",");
System.out.println(isSpecial(inp,inp.length));
}
public static int isSpecial(String[] inp, int inpSize)
{
int arr[] = new int[inp.length];
for(int i=0;i<inpSize;i++)
{
arr[i] = Integer.parseInt(inp[i]);
}
int spclCount = 0;
for(int i=0;i<arr.length;i++)
{
for(int j=1;j<((arr[i]/2)+1);j++)
{
if(j+getReverse(j) == arr[i])
{
spclCount++;
break;
}
}
}
return spclCount;
}
public static int getReverse(int n)
{
int rem,rev=0;
while(n != 0)
{
rem = n % 10;
rev = (rev*10) + rem;
n /= 10;
}
return rev;
}
}
Here is a brute-force approach and this can be optimised,
import java.util.Scanner;
public class Solution
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String[] inp = str.split(",");
System.out.println(isSpecial(inp,inp.length));
}
public static int isSpecial(String[] inp, int inpSize)
{
int arr[] = new int[inp.length];
for(int i=0;i<inpSize;i++)
{
arr[i] = Integer.parseInt(inp[i]);
}
int spclCount = 0;
for(int i=0;i<arr.length;i++)
{
for(int j=1;j<((arr[i]/2)+1);j++)
{
if(j+getReverse(j) == arr[i])
{
spclCount++;
break;
}
}
}
return spclCount;
}
public static int getReverse(int n)
{
int rem,rev=0;
while(n != 0)
{
rem = n % 10;
rev = (rev*10) + rem;
n /= 10;
}
return rev;
}
}
public static void main(String[] args) {
- Anonymous September 11, 2018int sum=121;
int firstNum=0;
int secondNum=0;
int thridNum=sum/11;
List<Integer> firstList=new ArrayList<Integer>();
List<Integer> secondList=new ArrayList<Integer>();
for (int i=1;i<=9;i++){
for (int j=1;j<=9;j++){
int addtion4thirdnum=i+j;
if(addtion4thirdnum==thridNum){
firstList.add(i);
secondList.add(j);
}
}
}
for (int i=0;i<firstList.size();i++){
int tempFirstNum=Integer.parseInt(String.valueOf(firstList.get(i)).concat(String.valueOf(secondList.get(i))));
int tempSecondNum=Integer.parseInt(String.valueOf(secondList.get(i)).concat(String.valueOf(firstList.get(i))));
if( (tempFirstNum+tempSecondNum) == sum){
firstNum=tempFirstNum;
secondNum=tempSecondNum;
}
}
System.out.println("firstNum: "+firstNum);
System.out.println("secondNum: "+secondNum);
}