LeetCode Entry

3653. XOR After Range Multiplication Queries I

08.04.2026 medium 2026 kotlin rust

Run queries

3653. XOR After Range Multiplication Queries I medium blog post substack youtube

08.04.2026.webp

Join me on Telegram

https://t.me/leetcode_daily_unstoppable/1322

Problem TLDR

Run queries #medium

Intuition

Just run queries.

Approach

  • cast to long in-place

Complexity

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

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

Code

// 96ms
    fun xorAfterQueries(n: IntArray, q: Array<IntArray>) = n.apply {
        for ((l,r,k,v) in q) for (i in l..r step k)
            n[i] = ((1L*n[i] * v) % 1000000007).toInt()
    }.reduce(Int::xor)
// 56ms
    pub fn xor_after_queries(mut n: Vec<i32>, q: Vec<Vec<i32>>) -> i32 {
        for v in q { for i in (v[0] as usize..=v[1] as _).step_by(v[2] as _) {
            n[i] = (n[i] as i64 * v[3] as i64 % 1000000007) as _
        }}
        n.into_iter().fold(0, |a, b| a ^ b)
    }