力扣 1310. 子数组异或查询

手把手教你用分立元件搭建自举电路:解决高端MOS驱动难题 本文详细介绍了如何用分立元件搭建自举电路,解决高端MOS驱动中的栅源极电压不足问题。通过面包板实验,逐步讲解二极管、电容等关键元件的选型与电路搭建,提供波形调试和常见问题排查方法,帮助工程师提升开关电源和电机驱动等应用的效率与可靠性。 阅读详情

力扣 1310. 子数组异或查询

有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。

对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。

并返回一个包含给定查询 queries 所有结果的数组。

示例 1:

输入:arr = [1,3,4,8], queries = [[0,1],[1,2],[0,3],[3,3]] 输出:[2,7,14,8]
解释: 数组中元素的二进制表示形式是:
1 = 0001
3 = 0011
4 = 0100
8 = 1000
查询的 XOR值为:
[0,1] = 1 xor 3 = 2
[1,2] = 3 xor 4 = 7
[0,3] = 1 xor 3 xor 4
xor 8 = 14
[3,3] = 8

示例 2:

输入:
arr = [4,8,2,10], queries = [[2,3],[1,3],[0,0],[0,3]]
输出:[8,0,4,4]

提示:

1 <= arr.length <= 3 * 10^4
1 <= arr[i] <= 10^9
1 <= queries.length <= 3 * 10^4
queries[i].length == 2
0 <= queries[i][0] <= queries[i][1] < arr.length
注意:由于异或操作是按位异或,那么两个相同的数异或就为零
由此我们就可以通过后面的前缀和和前面的前缀和异或来得到我们子区间 的前缀和

class Solution {
public:
    vector<int> xorQueries(vector<int>& arr, vector<vector<int>>& queries) {
        vector<int> daan;//存入答案集
        vector<int> sum;//前缀和
        int b=arr[0];
        for(int i=1;i<arr.size();i++){
            sum.push_back(b);
            b=b^arr[i];//异或得到前缀和集
        }
        sum.push_back(b);//最后一个数没录入,录入最后一个数
        for(int i=0;i<queries.size();i++){
            if(queries[i][0]==0)daan.push_back(sum[queries[i][1]]);
            //如果第一个数为零的话,那么答案就是右端的前缀和
            else {
                int l=queries[i][0];
                int r=queries[i][1];
                int c=sum[r]^sum[l-1];//如果左端不为零的话,答案就是右端的前缀和减去左端前一个数的前缀和
                daan.push_back(c);
            }
        }
    return daan;
    }
    
};

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/xor-queries-of-a-subarray
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Bev算法在J5平台的部署 支持多种形式的Bev算法:ipmlss时序,以及基于transformer的gkt。 阅读详情

相关推荐

OnePlus线刷救砖与OTA全量包:从故障恢复到系统升级的完整指南

本文详细介绍了OnePlus手机线刷救砖与OTA全量包的完整操作指南,包括故障诊断、线刷救砖实战教程、OTA全量包升级优势及进阶玩法。通过具体案例和实用技巧,帮助用户从系统故障恢复到安全升级,特别适合Android系统爱好者和OnePlus用户。

weixin_30338481的博客 626

Leetcode 1310:子数组异或查询(超详细的解法!!!)

有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] **xor** arr[Li+1] **xor** ... **xor** arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。 示例 1: 输入:arr ...

coordinate的博客 974

CPRI原理及应用--基本原理

本文主要介绍CPRI的基本原理,包括CPRI的发展历程、CPRI基本协议、速率、帧结构、时延模型等

u014035968的博客 2万+

LeetCode 1310. 子数组异或查询(前缀异或)

1. 题目 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。 示例 1: 输入:arr = [1,3,4...

Michael是个半路程序员 1162

SillyTavern本地AI聊天平台部署与调优全指南

大型语言模型(LLM)作为当前人工智能领域的核心技术,通过其强大的自然语言理解和生成能力,正在深刻改变人机交互方式。其工作原理基于Transformer架构,通过海量数据训练,学习语言的统计规律与语义关联。这项技术的核心价值在于,它能够作为通用基础,赋能于多样化的下游应用,实现个性化的智能对话与内容创作。在工程实践中,如何高效、灵活且低成本地部署和利用这些模型,成为开发者与爱好者的关键需求。本地化部署方案,特别是结合如Ollama、KoboldCPP等推理引擎,提供了数据隐私保障与可控的硬件成本。Silly

weixin_42520448的博客 433

如何通过Davinci Configurator来新增一个BswM仲裁规则

详细介绍如何通过Davinci Configurator来新增一个BswM仲裁规则。

initiallizer的博客 772

leetcode: 1310. 子数组异或查询

链接:https://leetcode-cn.com/problems/xor-queries-of-a-subarray/ 先计算异或前缀和,这样查询时就可以在O(1)O(1)O(1)时间复杂度得出答案。 C++代码: class Solution { public: vector<int> xorQueries(vector<int>& arr, vector<vector<int>>& queries) { vec

Gomamon的博客 272

Coze智能体开发:工作流教程之解析文件概述

大模型本身并不具备文件读取和解析的能力,无法直接处理文件字节流。对于支持工具调用(Function calling)的模型,扣子提供插件功能来帮助大模型调用外部工具 API,拓展大模型的能力边界。扣子插件商店提供海量官方插件和第三方插件,例如链接读取插件可以将链接对应的文件内容解析为纯文本传递给大模型。

王国平的博客 1793

leetcode1310. 子数组异或查询

最近一直没参加周赛,今天遇到这道题,感觉有点意思,可以试着写下心路历程 题目: 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li]...

孤竹彧的根据地 424

AI游戏制作07——波次计时器,敌人按波次生成

AI游戏制作07——波次计时器,敌人按波次生成

qq_40572023的博客 47

零基础学写《扫雷》游戏(Qt扫雷源码)

扫雷游戏是在windows系统中自带的游戏,他的游戏玩法其实很简单,20世纪初期电脑上没有啥游戏可以玩,所以扫雷游戏也算是当时是最常火爆的一个电脑游戏。以下文章详细介绍扫雷游戏的实现。实现语言为C++。

啊渊的专栏 1万+

LeetCode 1310 子数组异或查询,Java解法参考

LeetCode 1310 子数组异或查询,Java解法参考题目描述思路 1思路代码执行结果写在最后 题目描述 难度: 中等 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。 示例 1: 输入: arr = [1,

AnyHan的博客 445

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

力扣1310. 子数组异或查询

算法刷题 前缀和+异或 lc1310

2301_80219163的博客 282

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【LeetCode/力扣】1310. 子数组异或查询

1 题目描述 题目链接:https://leetcode-cn.com/problems/xor-queries-of-a-subarray/ 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。 示例 1: 输入:

积流成河 220

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

力扣每日一题:1310. 子数组异或查询

目录题目:1310. 子数组异或查询示例1示例2提示:解题思路解题代码 题目:1310. 子数组异或查询 难度: 中等 题目: 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。 示例1 输入:arr = [1,3,

aruewds的博客 209

LeetCode 1310.子数组异或查询

LeetCode 1310.子数组异或查询问题描述简要思路代码 问题描述 简要思路 简单前缀和。 代码 class Solution { public: vector<int> xorQueries(vector<int>& arr, vector<vector<int>>& queries) { int n = arr.size(); vector<int> s(n+1);

SYSU_Zhiyuan 697

力扣(leetcode) 1310. 子数组异或查询 (前缀异或和解法)、(暴力解法)

题目是这样的: 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。 我不知道有没有小伙伴和我一样没有看懂题。。可能是大半夜的缘故 脑子不转了哈哈。。 随即去看了一下题目给的实例 就很好理解了。 实例: 输入:arr

深度不学习!!的博客 2266

【LeetCode】第1310题——子数组异或查询(难度:中等)

【LeetCode】第1310题——子数组异或查询(难度:中等)题目描述解题思路代码详解注意点 题目描述 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。 示例 1: 输入:arr = [1,3,4,8], qu

Se7en_Dayz的博客 272

leetcode 1310.子数组异或查询

leetcode 1310.子数组异或查询 题干 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries&nb

玛软的垃圾桶 270

LeetCode #1310 子数组异或查询——每日一题

1310. 子数组异或查询 有一个正整数数组arr,现给你一个对应的查询数组queries,其中queries[i] = [Li,Ri]。 对于每个查询i,请你计算从Li到Ri的XOR值(即arr[Li]xorarr[Li+1]xor...xorarr[Ri])作为本次查询的结果。 并返回一个包含给定查询queries所有结果的数组。 示例 1: 输入:arr = [1,3,4,8], queries = [[0,1],[1,2],[0,3],[3,3...

JUST CODE IT 165

【LeetCode每日一题】1310. 子数组异或查询

【LeetCode每日一题】1310. 子数组异或查询题目:有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。对于每个查...

Francis的博客 339

leetcode 1310. 子数组异或查询

leetcode 1310. 子数组异或查询 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor … xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。 示例 1: 输入:arr = [1,3,4,8], queries = [[0,1],[1,2],[0,3],[3,3]

ITAK_fans的博客 332

LeetCode 1310. 子数组异或查询

有一个正整数数组arr,现给你一个对应的查询数组queries,其中。对于每个查询i,请你计算从Li到Ri的值(即)作为本次查询的结果。并返回一个包含给定查询queries所有结果的数组。[2,7,14,8]数组中元素的二进制表示形式是:1 = 00013 = 00114 = 01008 = 1000查询的 XOR 值为:[3,3] = 8[8,0,4,4]提示 1提示 2。

m0_56090828的博客 1121

Leetcode 1310. 子数组异或查询 前缀和+异或

原题链接:Leetcode 1310. 子数组异或查询 主要思想就是a ^ b ^b=a class Solution { public: vector<int> xorQueries(vector<int>& arr, vector<vector<int>>& queries) { int n=arr.size(); vector<int> sum(n+1,0); for

想买很多漂亮衣服但是买不起的博客 157

LeetCode 1310 子数组异或查询 题解

LeetCode 1310 子数组异或查询 题解 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor ... xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。 示例 1: 输入:arr = [1,3,4,8], queries = [[0,1],[1,2],[0,3],[

qq_39618369的博客 222

leetcode 1310. XOR Queries of a Subarray 子数组异或查询-耗时100

Problem:耗时100%,异或的最后答案只和0的个数减去1的个数的绝对值的奇偶相关,abs|count(0) - count(1)| % 2,所以实际上前缀异或可以得到当前的0和1的个数差的奇偶,所以后面的前缀异或和之前的前缀异或再次异或,就可以得到中间数字的结果(0和1的个数差的奇偶)若前面是偶数个,后面的结果是奇数个,说明中间的是奇数个这道题可以用类似前缀和的前缀异或,算出所有的前缀异或,最后再用前缀异或的异或得到结果。

邹九的个人博客 82
上一篇: B. National Project
下一篇: 每日一题2021.5.13 D. Corrupted Array
阿汤太菜了
博客等级 码龄6年 4粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值