LeetCode Entry

2942. Find Words Containing Character

24.05.2025 easy 2025 kotlin rust

Indices with x

2942. Find Words Containing Character easy blog post substack youtube 1.webp

Join me on Telegram

https://t.me/leetcode_daily_unstoppable/998

Problem TLDR

Indices with x #easy

Intuition

Do what is asked

Approach

  • the answer can be in any order suggests some interesting optimizations: what if we unroll loops or even start work in parallel? (however, in Kotlin I wasnt able to gain any performance)

Complexity

  • Time complexity: \(O(n)\)

  • Space complexity: \(O(n)\)

Code


// 25ms
    fun findWordsContaining(w: Array<String>, x: Char) =
        w.indices.filter { x in w[it] }


// 9ms
    fun findWordsContaining(w: Array<String>, x: Char): List<Int> {
        val res = ArrayList<Int>(w.size)
        for (i in w.indices) if (x in w[i]) res += i
        return res
    }


// 3ms
    fun findWordsContaining(w: Array<String>, x: Char): List<Int> {
        val res = ArrayList<Int>(w.size)
        for (i in w.indices)
            for (c in w[i]) if (c == x) { res += i; break }
        return res
    }


// 0ms
    pub fn find_words_containing(w: Vec<String>, x: char) -> Vec<i32> {
        (0..w.len()).filter(|&i| w[i].contains(x)).map(|i| i as _).collect()
    }


// 0ms
    vector<int> findWordsContaining(vector<string>& w, char x) {
        vector<int> r;
        for (int i = 0; i < size(w); ++i) if (w[i].contains(x)) r.push_back(i);
        return r;
    }