Sort by

recency

|

2294 Discussions

|

  • + 0 comments

    My recursive C++ solution

    string _str( string & s, string & s1, int n1, int n2)
    {
        if (n1 == 0 || n2 == 0)
        {   
            if( s[0]== s1[0] ) return "YES";
    
            return "NO";
        }
        if (s[n1] == s1[n2])
            return "YES";
    
        return _str(s, s1, n1 - 1, n2 - 1);
    }
    
    string twoStrings(string s1, string s2) 
    {
        return _str(s1, s2, s1.size() - 1, s2.size() - 1);
    }
    
  • + 0 comments

    Is there any O(n) solution to solve this. In c++.

  • + 0 comments
    public static String twoStrings(String s1, String s2) {
        String maxstring = s1.length() > s2.length() ? s1 : s2;
        String smallstring = s1.length() <= s2.length() ? s1 : s2;
        Set<String> maxset = Arrays.stream(maxstring.split("")).collect(Collectors.toSet());
        Set<String> smallset = Arrays.stream(smallstring.split("")).collect(Collectors.toSet());
        int smallsetsize = smallset.size();
        smallset.removeAll(maxset);
        return smallsetsize == smallset.size() ? "NO" : "YES";
    }
    
  • + 1 comment

    python O(n + m) time O(n) space:

    def twoStrings(s1, s2):
        strset = set(s1)
        
        for c in s2:
            if c in strset:
                return "YES"
        
        return "NO"
    
  • + 0 comments

    Python3

    def twoStrings(s1, s2):
        int_set = set(s1).intersection(set(s2))
        return 'YES' if len(int_set)>0 else 'NO'