Two Strings – HackerRank Solution

In this post, we will solve Two Strings HackerRank Solution. This problem (Two Strings) is a part of HackerRank Problem Solving series.

Contents

Solution – Two Strings – HackerRank Solution

C++

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

bool check(const string& _a, const string& _b) {
    // O(n*m) lol no thanks
    // more like O(n+m+52)
    bool arr[52] = {false};
    for(auto& a : _a)
        arr[a - 'a'] = true;
    for(auto& b : _b)
        arr[b - 'a' + 26] = true;
    
    for(int i = 0; i < 26; i++)
        if (arr[i] && arr[i+26])
            return true;
        
    return false;
}

int main() {
    int t; cin >> t;
  
    string a, b;
    while (t-- > 0) {
        cin >> a >> b;
        cout << (check(a,b) ? "YES" : "NO") << endl;
    }

    return 0;
}

Python

cases = int(input())
offset = ord('a')
for caseNo in range(cases):
    a = input()
    b = input()
    sa = [False] * 26
    sb = [False] * 26
    for char in a:
        sa[ord(char) - offset] = True
    for char in b:
        sb[ord(char) - offset] = True
    for i in range(26):
        if sa[i] and sb[i]:
            print("YES")
            break
    else:
        print("NO")

Java

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

    static String twoStrings(String s1, String s2){
        int[] cache = new int[256];

        for (int i = 0; i < s1.length(); i++) {
            cache[(int)s1.charAt(i)]++;
        }

        for (int i = 0; i < s2.length(); i++) {
            if (cache[(int)s2.charAt(i)] != 0) {
                return "YES";
            }
        }

        return "NO";
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int q = in.nextInt();
        for(int a0 = 0; a0 < q; a0++){
            String s1 = in.next();
            String s2 = in.next();
            String result = twoStrings(s1, s2);
            System.out.println(result);
        }
    }
}

Note: This problem (Two Strings) is generated by HackerRank but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.

Leave a Comment

Your email address will not be published. Required fields are marked *