首页 > 其他分享 >LeetCode每日一题----特殊数组二

LeetCode每日一题----特殊数组二

时间:2024-08-15 10:25:14浏览次数:8  
标签:nums int 元素 奇偶性 ---- 数组 queries 一题 LeetCode

解析

1.int[] nums:一个整数数组。
2.int[][] queries:一个二维整数数组,每个一维数组包含两个整数,表示查询的范围。
该方法的主要功能是根据给定的 nums 数组和一系列查询 queries,判断每个查询区间 [queries[i][0], queries[i][1]] 内的元素是否都具有相同的奇偶性。返回一个布尔数组,其中每个元素对应一个查询的结果

3.创建一个与 nums 等长的数组 n,用于存储以每个索引结尾的连续相同奇偶性元素的计数。
4.遍历 nums 数组,从第二个元素开始,对于每个元素 nums[i]:
5.计算 nums[i] 和 nums[i - 1] 的奇偶性是否相同。
如果相同,则将 n[i] 设置为 n[i - 1] + 1;否则设置为 n[i - 1]。
这样,n[i] 就记录了从数组起始位置到 nums[i] 为止,连续相同奇偶性的元素个数。

6.创建一个布尔数组 b,长度等于 queries 的长度,用于存储每个查询的结果。
7.遍历 queries 数组中的每个查询 q:
        获取查询范围 [q[0], q[1]]。
        检查 n[q[0]] 和 n[q[1]] 是否相等:
        如果相等,说明从 q[0] 到 q[1] 区间内的所有元素都具有相同的奇偶性。
        如果不相等,则区间内至少有一个元素的奇偶性与其他元素不同。
根据上述条件设置 b[i] 的值。
返回布尔数组 b。

class Solution {
    public boolean[] isArraySpecial(int[] nums, int[][] queries) {  
        int[] n = new int[nums.length];
        for(int i =1;i<nums.length;i++){
            n[i]=n[i-1] + (nums[i]%2 == nums[i-1]%2 ? 1 :0);
        }
       boolean[]  b = new boolean[queries.length];
       for(int i = 0; i<queries.length;i++){
         int[] q = queries[i];
         b[i] = n[q[0]] == n[q[1]];
       }
       return b;
    }
}

标签:nums,int,元素,奇偶性,----,数组,queries,一题,LeetCode
From: https://blog.csdn.net/qq_51365907/article/details/141191262

相关文章

  • 设计模式-延迟加载(Lazy Load)
    概念一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。加载一个对象会引起大量相关对象的加载,这样会损害系统的性能。延迟加载会暂时终止这个加载过程。运行机制四种实现延迟加载的方法:延迟初始化(Lazyinitialization)。每次访问属性域都要先检查该域是否......
  • 【Three.JS零基础入门教程】第四篇:基础变换
    前期回顾:【Three.JS零基础入门教程】第一篇:搭建开发环境【Three.JS零基础入门教程】第二篇:起步案例【Three.JS零基础入门教程】第三篇:开发辅助接下来,我们通过三种基础的变换来加深对3D坐标系中坐标和单位的理解,同时也是动画的基础.分别是:移动缩放旋转效果1......
  • PAT-1006 换个格式输出整数 python实现
    1.题目本题较为简单,只需要获取数字的各位数再分别按要求拼接到一起即可。2.代码如下  """输入:23423输出:BBSSS1234SS123"""#本题较为简单,只需要获取数字的各位数再分别按要求拼接到一起即可n=int(input())#获取输入的数字r......
  • docker-compose 一键部署多个微服务
    如果部署微服务项目的话,多个服务需要启动,如果用dockerrun一个一个启动效率实在是太慢了可以用docker-compose一键启动多个服务第一步:服务打成jar之后每个服务一个文件夹并把Dockerfile加进去第二步:编写docker-compose.yml文件version:'3.8'services:sdss-bas......
  • 保姆级攻略:企业系统和办公软件上云
    【若您对内容感兴趣,可以联系或关注我们】一、前期准备明确上云目标企业上云的目标多种多样,可能是为了降低成本、提高灵活性、增强安全性,亦或是为了紧跟数字化转型的潮流。明确目标对于后续的规划和决策至关重要。例如,一家小型创业公司由于资金有限,可能主要追求降低IT基础......
  • 基于SpringBoot+MySQL+SSM+Vue.js的药房药品采购系统(附论文)
    获取见最下方名片获取见最下方名片获取见最下方名片演示视频技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoot文字描述基于SpringBoot+MySQL+SSM+Vue.js的药房药品采购系统(附论文......
  • 基于SpringBoot+MySQL+SSM+Vue.js的旅游咨询系统
    获取见最下方名片获取见最下方名片获取见最下方名片演示视频技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoot文字描述基于SpringBoot+MySQL+SSM+Vue.js的旅游咨询系统,用户,管理......
  • 对C工程使用GTest与Gmock函数未定义(undefined reference)排错记录
    在使用Gtest过程中出现了一些被测参数和函数未定义的问题调了三天很是头疼1、对象只申明未定义在配置文件中该结构体数组已经被定义完成,错误排除2、使用对象的错误定义(签名不匹配)  C++提供了函数重载,当函数的声明与调用时,输入参数与声明是不同时会报undefinedrefer......
  • EasyCVR视频汇聚平台:深度解析GB/T 28181协议下的视频资源整合与应用
    随着安防技术的快速发展和智慧城市建设的推进,视频监控系统作为公共安全、城市管理、企业运营等领域的重要基础设施,其重要性和应用范围不断扩大。在这一过程中,GB/T28181作为国家标准中关于视频监控设备通信协议的规范,正逐渐受到业界的广泛关注和应用。政策推动也是GB/T28181越来......
  • 在K8S中,Kube-Proxy为什么使用ipvs,而不使用iptables?
    Kubernetes中的kube-proxy是负责实现服务(Services)负载均衡的核心组件之一。它支持两种主要的代理模式:iptables模式和ipvs模式。这两种模式都可以用来实现服务的网络流量转发,但它们之间存在一些关键的区别。1.为什么使用ipvs而不是iptables?性能优势:连接跟踪:ipvs直......