Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
1,212 views
in Online Assessments by Expert (44,360 points) | 1,212 views

2 Answers

0 like 0 dislike
Best answer

Hi everyone. I got the below question in OA 
image
image

by Expert (44,360 points)
0 like 0 dislike

Java solution:

 

public static void main(String[] args){
    String[] strs1 = {"..XX.X.", "X.X.X.."};
    String[] strs2 = {".XXX...X", "..X.XXXX"};
    String[] strs3 = {"XXXXX", ".X..X"};
    String[] strs4 = {"X...X", "..X.."};
    System.out.println(solve(strs1));
    System.out.println(solve(strs2));
    System.out.println(solve(strs3));
    System.out.println(solve(strs4));
}

private static int solve(String[] strs) {
    int l = strs[0].length();
    int sum1 = 0, sum2 = 0;
    for(int i=0;i<l;i++){
        if(strs[0].charAt(i) == 'X')
            sum1++;
        if(strs[1].charAt(i) == 'X')
            sum2++;
    }
    int tmp1 = 0, tmp2 = 0, min = Integer.MAX_VALUE;
    for(int i=0;i<l;i++){
        if(strs[0].charAt(i) == 'X')
            tmp1++;
        if(strs[1].charAt(i) == 'X')
            tmp2++;
        int change = Math.min(tmp1 + sum2 - tmp2 , tmp2 + sum1 - tmp1) + (strs[1].charAt(i) == 'X' ? 1 : 0) + (strs[0].charAt(i) == 'X' ? 1 : 0);
        min = Math.min(min, Math.min(sum1, Math.min(sum2, change)));
    }
    return sum1 + sum2 - min;
}

 

4
6
5
2

by Expert (44,360 points)