每日一道leetcode(2026.04.08):区间乘法查询后的异或 I

每日一道leetcode(2026.04.08):区间乘法查询后的异或 I

  • [1. 题目](#1. 题目)
  • [2. 分析](#2. 分析)
  • [3. 代码实现](#3. 代码实现)
  • [4. 总结](#4. 总结)

1. 题目

给你一个长度为 n 的整数数组 nums 和一个大小为 q 的二维整数数组 queries,其中 queriesi = li, ri, ki, vi

对于每个查询,按以下步骤执行操作:

a. 设定 idx = li。

b. 当 idx <= ri 时: 更新:numsidx = (numsidx * vi) % (10e9 + 7)

c. 将 idx += ki。

在处理完所有查询后,返回数组 nums 中所有元素的 按位异或 结果。

示例 1:

输入: nums = 1,1,1, queries = \[0,2,1,4]

输出: 4

解释:

唯一的查询 0, 2, 1, 4 将下标 0 到下标 2 的每个元素乘以 4。 数组从 1, 1, 1 变为 4, 4, 4

所有元素的异或为 4 ^ 4 ^ 4 = 4。

示例 2:

输入: nums = 2,3,1,5,4, queries = \[1,4,2,3,0,2,1,2]

输出: 31

解释:

复制代码
第一个查询 [1, 4, 2, 3] 将下标 1 和 3 的元素乘以 3,数组变为 [2, 9, 1, 15, 4]。
第二个查询 [0, 2, 1, 2] 将下标 0、1 和 2 的元素乘以 2,数组变为 [4, 18, 2, 15, 4]。
所有元素的异或为 4 ^ 18 ^ 2 ^ 15 ^ 4 = 31。

提示:

复制代码
1 <= n == nums.length <= 10e3
1 <= nums[i] <= 10e9
1 <= q == queries.length <= 10e3
queries[i] = [li, ri, ki, vi]
0 <= li <= ri < n
1 <= ki <= n
1 <= vi <= 10e5

2. 分析

今天这道题算是近期遇到的最简单的一道了,虽然标注的是中等难度。只是一如既往的,需要在理解题目的意思上花费一些时间。

二维数组queries,可以理解为固定的n*4,queries[i]中的每个数值有固定的含义,依次为遍历的起点index,遍历的终点index,遍历步长,相乘的系数,只是需要注意一下相乘的结果可能超出int的范围,需要将乘积的结果转为long,求余后还原为int格式。

3. 代码实现

java 复制代码
class Solution {
    public int xorAfterQueries(int[] nums, int[][] queries) {
        int from;
        int to;
        int step;
        int ratio;
        for (int[] query : queries) {
            from = query[0];
            to = query[1];
            step = query[2];
            ratio = query[3];
            for (int i = from; i <= to; i += step) {
                nums[i] = (int) ((long) nums[i] * ratio % 1000000007);
            }
        }
        int res = 0;
        for (int num : nums) {
            res ^= num;
        }
        return res;
    }
}

4. 总结

明天应该是这个题目的升级版。

相关推荐
Black蜡笔小新11 小时前
自动化AI算法训练服务器DLTM制造业AI质检工作站助力制造业实现AI智检
人工智能·算法·自动化
嵌入式小能手11 小时前
飞凌嵌入式ElfBoard-进程间的通信之命名管道
linux·服务器·算法
啦哈拉哈11 小时前
Leetcode题解记录-hot100(81-100)
算法·leetcode·职场和发展
csdn_aspnet11 小时前
Java 霍尔分区算法(Hoare‘s Partition Algorithm)
java·开发语言·算法
诸葛务农11 小时前
道路行驶条件下电动汽车永磁电机的有效使用寿命及永磁体的失效和回收再利用(下)
java·开发语言·算法
snow@li11 小时前
AI:理解 大数据、算法、算力、电力、生成式AI、token 之间的关系
大数据·人工智能·算法
小智老师PMP12 小时前
零基础能不能考PMP?零基础专属学习路径+全套扶持体系
学习·算法·职场和发展·软件工程·求职招聘·敏捷流程
Dillon Dong12 小时前
【风电控制】FPGA采集Vdc的ADC增益系数解析——从数字码到实际电压的桥梁
算法·fpga开发·变流器·风电控制
TDengine (老段)12 小时前
TDengine 压缩编码机制 — 双层压缩架构与类型特化算法
大数据·数据库·物联网·算法·时序数据库·tdengine·涛思数据
妄想出头的工业炼药师13 小时前
LVIO鲁棒
算法·开源