LeetCode 2488. 统计中位数为 K 的子数组
创始人
2025-05-28 20:00:56

2488. 统计中位数为 K 的子数组

 

 

【前缀和 + 哈希】把小于k的当做-1,大于k的当做1,那么通过前缀和计算出的一段区间内得分为0或者1就说明符合要求。

class Solution {public int countSubarrays(int[] nums, int k) {int n = nums.length, idx = 0, ans = 0;int[] s = new int[n + 1];for (int i = 1; i <= n; i++) s[i] = s[i - 1] + (nums[i - 1] > k ? 1: (nums[i - 1] == k? 0: -1));Map map = new HashMap();map.put(0, 1);for (int i = 0; i < n; i++) {if (nums[i] == k) {idx = i + 1;break;}}for (int i = 1; i <= n; i++) {if (i < idx) map.put(s[i], map.getOrDefault(s[i], 0) + 1);else {ans += map.getOrDefault(s[i], 0) + map.getOrDefault(s[i] - 1, 0);}}return ans;}
}

 

 

 

相关内容

热门资讯

突然动手!以色列发动大规模进攻... 来源:每日经济新闻 在美伊谈判关键之际,当地时间5月26日,美国总统特朗普与以色列总理内塔尼亚胡通电...
NASA宣布全新登月任务:“这... “美国正在重返月球,而这一次我们将留下来。”当地时间5月26日,美国国家航空航天局(NASA)局长贾...
鲁比奥与日本外相在新德里举行会... 美国国务卿鲁比奥与日本外相茂木敏充在印度参加“四方安全对话”期间举行了短暂的双边会谈。 5月26日,...
奇瑞汽车战略入局可控核聚变 3月18日消息,奇瑞汽车今日宣布,公司正式战略布局可控核聚变,投身“人造太阳”的研发。公司认为,海水...
大厂押注的AI和视频化,能成为... 文 | 新熵,作者丨江蓠,编辑丨樱木、九黎长期在国内市场不温不火的播客赛道,正在焕发出越来越蓬勃的新...