Sort by

recency

|

73 Discussions

|

  • + 0 comments

    C+

    include

    include

    include // for memcmp

    include // for size_t

    using namespace std;

    // Recursive function to count mismatches between two substrings size_t get_mismatch_count(const char *r, const char *l, size_t s) { size_t res = 0; if (s < 1) return res;

    if (s == 1) {
        if (memcmp(r, l, s)) res = 1;
        return res;
    }
    
    size_t m = s / 2;
    const char *r_n = r + m;
    const char *l_n = l + m;
    size_t m_n = s - m;
    
    bool mismatch_l = false, mismatch_r = false;
    
    if (memcmp(r, l, m)) mismatch_l = true;
    if (memcmp(r_n, l_n, m_n)) mismatch_r = true;
    
    if (mismatch_l && mismatch_r) {
        res = 2;
        return res;
    }
    
    if (mismatch_l) res += get_mismatch_count(r, l, m);
    if (mismatch_r) res += get_mismatch_count(r_n, l_n, m_n);
    
    return res;
    

    }

    // Main logic for the virus indices problem void virusIndices(string p, string v) { const string no_match = "No Match!"; size_t p_s = p.size(); size_t v_s = v.size(); bool match_found = false;

    for (size_t i = 0; i + v_s <= p_s; ++i) {
        size_t mismatch_count = 0;
    
        if (memcmp(p.c_str() + i, v.c_str(), v_s) == 0) {
            mismatch_count = 0; // Exact match
        } else {
            mismatch_count = get_mismatch_count(p.c_str() + i, v.c_str(), v_s);
        }
    
        if (mismatch_count <= 1) {
            cout << i << " ";
            match_found = true;
        }
    }
    
    if (!match_found) cout << no_match;
    cout << endl;
    

    }

    // Main function to handle multiple test cases int main() { ios::sync_with_stdio(false); cin.tie(nullptr);

    int t;
    cin >> t;
    
    while (t--) {
        string p, v;
        cin >> p >> v;
        virusIndices(p, v);
    }
    
    return 0;
    

    }

  • + 0 comments

    Wow, just like how doctors need to detect tiny virus DNA patterns quickly to save lives, I recently realized how important it is to catch health issues early too. That’s why I searched for a Chiropractor near me and found At Ace Chiropractic. Their team uses evidence-based care and state-of-the-art technology to help patients regain their health—just like pinpointing the exact problem in a patient’s DNA. It’s amazing to see such precision applied to real-life health!

  • + 0 comments

    Wow, this virus detection problem reminds me how important precision is, whether in DNA analysis or in healthcare. Speaking of care, I recently found a chiropractor near me in New Albany who uses advanced, gentle techniques. Just like detecting small differences in DNA, their targeted adjustments are precise and comfortable, helping realign my spine and support natural healing without harsh treatments.

  • + 0 comments

    Pattern recognition, whether in DNA sequencing or finding the right dental care, plays a crucial role in identifying problems early. Just like detecting virus footprints in a patient's DNA requires precision, spotting a dental emergency before it worsens is equally important. When sudden pain or an accident occurs, having access to an emergency dentist in Scarborough, like Markham Gateway Dentistry, can be a lifesaver. Much like an efficient algorithm scans for anomalies in DNA, experienced dental professionals quickly assess and treat urgent oral health issues, ensuring the best possible outcome.

  • + 0 comments

    python

    def rid(s):
        n, a, b, r = len(s), 0, 0, [0] * len(s)
        for i in range(1, n):
            if r[i - a] < b - i + 1:
                r[i] = r[i - a]
            else:
                a, b = i, max(i, b)
                while b < n and s[b - a] == s[b]:
                    b += 1
                r[i], b = b - a, b - 1
        return r
    
    def virusIndices(P, V):
        p, v, res, r1, r2 = len(P), len(V), [], rid(V + " " + P), rid(V[::-1] + " " + P[::-1])
        for i in range(p - v + 1):
            if r1[v + 1 + i] == v or r1[v + i + 1] + r2[p + 1 - i] + 1 >= v:
                res.append(i)
        print(" ".join(str(x) for x in res) if len(res) else "No Match!")