当前位置: 首页 > news >正文

Leetcode-3152 特殊数组 II

依旧前缀和,做的还是很不熟悉,链接如下3152. 特殊数组 II

我想着用位运算来判断相邻两个元素的奇偶情况,用&来判断结果为0就是奇偶相邻,后来发现自己考虑不周2&4的结果也为0,所以还是用了一个if else判断来。

我令cnt[0] = 0 ,cnt[1]=1;因为当 queries[i][0]==queries[i][1]时,也返回true。

然后就cnt[queries[i][1]+1] -cnt[queries[i][0]+1] == queries[i][1]-queries[i][0]时,返回true.

写的不够凝练,C++代码如下

class Solution {
public:vector<bool> isArraySpecial(vector<int>& nums, vector<vector<int>>& queries) {vector<int> cnt;cnt.resize(nums.size()+1);cnt[1] = 1;for(int i = 1;i<nums.size();i++){ if((nums[i]%2 == 0 && nums[i-1]%2 !=0)||(nums[i-1]%2 == 0 && nums[i]%2 !=0))cnt[i+1]+=cnt[i]+1;else cnt[i+1]+=cnt[i];}vector<bool> ans ;for(int i = 0; i<queries.size();i++){if(queries[i][0]==queries[i][1]){ans.push_back(true);continue;}if((cnt[queries[i][1]+1]-cnt[queries[i][0]+1]) == (queries[i][1]-queries[i][0]))ans.push_back(true);elseans.push_back(false);}return ans;}
};

http://www.dtcms.com/a/303802.html

相关文章:

  • TCPDump实战手册:协议/端口/IP过滤与组合分析指南
  • 【Java面试题】面向对象
  • 站点到站点-主模式
  • 【C++基础】函数调用约定(x86/ARM 差异对比):面试高频考点与真题解析
  • 面试遇到的问题3
  • java String类
  • 打印机错误0x0000011B,0x00000709,0x00000BCD,修复工具下载。
  • ElasticSearch 的3种数据迁移方案
  • Nginx安装流程
  • Vue.js 指令系统完全指南:深入理解 v- 指令
  • 递归推理树(RR-Tree)系统:构建认知推理的骨架结构
  • 【C++】1. C++基础知识
  • 传媒行业视频制作:物理服务器租用是隐藏的效率引擎
  • 【Golang】Go语言Map数据类型
  • Qt 并行计算框架与应用
  • 【go】语言的匿名变量如何定义与使用
  • TDengine 中 TDgpt 异常检测的机器学习算法
  • spring data mongodb 入门使用手册
  • [Linux入门] Linux 部署本地 APT 仓库及 NFS 共享服务全攻略
  • Java -- String类-StringBuffer类-StringBuilder类
  • uniapp开发微信小程序(新旧版本对比:授权手机号登录、授权头像和昵称)
  • K-近邻算法(KNN算法)的K值的选取--交叉验证+网格搜索
  • 搭建专属AI聊天网站:NextChat + 蓝耘MaaS平台完整部署指南
  • 2025年7月技术问答第4期
  • 树形结构递归查询与嵌套结构转换:Flask + PostgreSQL 完整实现
  • 力扣面试150题--位1的个数
  • 【第四章自定义编辑器窗口_扩展默认的编辑器窗口_扩展Hierarchy窗口(7/11)】
  • QT项目 -仿QQ音乐的音乐播放器(第三节)
  • 深入理解 Qt 元对象系统 (Meta-Object System)
  • WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析六