如何网站做百度推广,合肥网站设计哪家公司好,做学校网站的内容,个人网站设计与制作设计思路题目 如果数组的每一对相邻元素都是两个奇偶性不同的数字#xff0c;则该数组被认为是一个 特殊数组 。 你有一个整数数组 nums 和一个二维整数矩阵 queries#xff0c;对于 queries[i] [fromi, toi]#xff0c;请你帮助你检查 子数组 nums[fromi…toi] 是不是一个 特殊数组…题目 如果数组的每一对相邻元素都是两个奇偶性不同的数字则该数组被认为是一个 特殊数组 。 你有一个整数数组 nums 和一个二维整数矩阵 queries对于 queries[i] [fromi, toi]请你帮助你检查 子数组 nums[fromi…toi] 是不是一个 特殊数组 。 返回布尔数组 answer如果 nums[fromi…toi] 是特殊数组则 answer[i] 为 true 否则answer[i] 为 false 。 示例 1 输入nums [3,4,1,2,6], queries [[0,4]] 输出[false] 解释 子数组是 [3,4,1,2,6]。2 和 6 都是偶数。 示例 2 输入nums [4,3,1,6], queries [[0,2],[2,3]] 输出[false,true] 解释 子数组是 [4,3,1]。3 和 1 都是奇数。因此这个查询的答案是 false。 子数组是 [1,6]。只有一对(1,6)且包含了奇偶性不同的数字。因此这个查询的答案是 true。 提示 1 nums.length 105 1 nums[i] 105 1 queries.length 105 queries[i].length 2 0 queries[i][0] queries[i][1] nums.length - 1 解题思路
初次尝试使用和昨日一样的思路会在最后一个数据当中出现时间超时的状况因此我们要改变思路我们可以考虑前缀和的思路先遍历所有的数字判断其与前一个数是否满足关系同一个符合区间内的数值一致。根据区间数组给出的两端数值是否一致进行判断而是否符合标准。
代码
class Solution {
public:vectorbool isArraySpecial(vectorint nums, vectorvectorint queries) {int nnums.size();vectorint biao(n);//记录for(int i1;in;i){//符合的数0 不符合的1//同一个符合区间内 记录的数值一致biao[i]biao[i-1](nums[i-1]%2nums[i]%2);}vectorbool ans;nqueries.size();for(int i0;in;i){int startqueries[i][0],endqueries[i][1];ans.push_back(biao[start]biao[end]);}return ans;}
};