Two Strings


Problem Statement :


Given two strings, determine if they share a common substring . A substring may be as small as one character.

For example, the words "a", "and", "art" share the common substring a. The words "be" and "cat" do not share a substring.

Function Description

Complete the function twoStrings in the editor below. It should return a string, either YES or NO based on whether the strings share a common substring.

twoStrings has the following parameter(s):

    s1, s2: two strings to analyze .

Input Format

The first line contains a single integer p, the number of test cases.

The following p pairs of lines are as follows:

   1. The first line contains string  s1
   2. The second line contains string s2.

Constraints

   s1 and s2 consist of characters in the range ascii[a-z].
   1 <= p <= 10
   1 <= | s1 |, | s2 | <= 10 ^5

Output Format

For each pair of strings, return YES or NO.


    .



Solution :


                        In C : 


#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() {
    int k;
    scanf("%d",&k);
    while(k>0)
        {
        char str[110000],btr[110000];
        int cn1[500],cn2[500],i,j,t,a,b;
        for(i=0;i<500;i++)
            {
            cn1[i]=0;
            cn2[i]=0;
        }
        scanf("%s",str);
        scanf("%s",btr);
        a=strlen(str);
        b=strlen(btr);
        for(i=0;i<a;i++)
            {
            cn1[str[i]]++;
        }
        for(i=0;i<b;i++)
            {
            cn2[btr[i]]++;
        }
        t=0;
        for(i=0;i<500;i++)
            {
            if(cn1[i]*cn2[i]>0)
                {
                t=1;
                break;
            }
        }
        if(t)
            {
            printf("YES\n");
        }
        else
            {
            printf("NO\n");
        }
        k--;
    }
    return 0;
}
                    

                        In C++ :

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a; cin >> a;
    for (int g=0;g<a; g++)
    {
        string b,c; cin >> b >> c; map <char,int> k; 
        for (int y=0;y<b.length(); y++) k[b[y]]=1; int counter=0; 
        for (int y=0;y<c.length(); y++) 
        {
            if (k[c[y]]) counter=1; 
        }
        if (counter) cout << "YES" << '\n';
        else cout << "NO" << '\n'; 
    }return 0; 
}
                    

                        In Java :

import java.io.*;
import java.util.*;

public class TwoStrings {

	BufferedReader br;
	PrintWriter out;
	StringTokenizer st;
	boolean eof;

	void solve() throws IOException {
		int t = nextInt();
		outer: while (t-- > 0) {
			char[] a = nextToken().toCharArray();
			char[] b = nextToken().toCharArray();
			boolean[] has = new boolean[26];
			for (char c : a) {
				has[c - 'a'] = true;
			}
			for (char c : b) {
				if (has[c - 'a']) {
					out.println("YES");
					continue outer;
				}
			}
			out.println("NO");
		}
	}

	TwoStrings() throws IOException {
		br = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(System.out);
		solve();
		out.close();
	}

	public static void main(String[] args) throws IOException {
		new TwoStrings();
	}

	String nextToken() {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (Exception e) {
				eof = true;
				return null;
			}
		}
		return st.nextToken();
	}

	String nextString() {
		try {
			return br.readLine();
		} catch (IOException e) {
			eof = true;
			return null;
		}
	}

	int nextInt() throws IOException {
		return Integer.parseInt(nextToken());
	}

	long nextLong() throws IOException {
		return Long.parseLong(nextToken());
	}

	double nextDouble() throws IOException {
		return Double.parseDouble(nextToken());
	}
}
                    

                        In Python3 :


a = int(input())
for i in range(a):
    i = (input())
    j = (input())
    setx = set([a for a in i])
    sety = set([y for y in j])
    if setx.intersection(sety) == set():
        print("NO")
    else:
        print("YES")
                    



Copyrights © ClownMonster's Inc