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

力扣3318——计算子数组的 x-sum I(偷懒版)

题目

给你一个由 n 个整数组成的数组 nums,以及两个整数 k 和 x。

数组的 x-sum 计算按照以下步骤进行:

  • 统计数组中所有元素的出现次数。
  • 仅保留出现次数最多的前 x 个元素的每次出现。如果两个元素的出现次数相同,则数值 较大
    的元素被认为出现次数更多。
  • 计算结果数组的和。
    注意,如果数组中的不同元素少于 x 个,则其 x-sum 是数组的元素总和。
    返回一个长度为 n - k + 1 的整数数组 answer,其中 answer[i] 是 子数组 nums[i…i + k - 1] 的 x-sum。
    子数组 是数组内的一个连续 非空 的元素序列。

示例

示例 1:

输入:nums = [1,1,2,2,3,4,2,3], k = 6, x = 2
输出:[6,10,12]
解释:
对于子数组 [1, 1, 2, 2, 3, 4],只保留元素 1 和 2。因此,answer[0] = 1 + 1 + 2 + 2。
对于子数组 [1, 2, 2, 3, 4, 2],只保留元素 2 和 4。因此,answer[1] = 2 + 2 + 2 + 4。注意 4 被保留是因为其数值大于出现其他出现次数相同的元素(3 和 1)。
对于子数组 [2, 2, 3, 4, 2, 3],只保留元素 2 和 3。因此,answer[2] = 2 + 2 + 2 + 3 + 3。

示例 2:

输入:nums = [3,8,7,8,7,5], k = 2, x = 2
输出:[11,15,15,15,12]
解释:
由于 k == x,answer[i] 等于子数组 nums[i…i + k - 1] 的总和。

提示

  • 1 <= n == nums.length <= 50
  • 1 <= nums[i] <= 50
  • 1 <= x <= k <= nums.length

思路

暴力破解

代码

class Solution {
public static int[] findXSum(int[] nums, int k, int x) {int []answer = new int[nums.length - k + 1];for(int i=0;i<answer.length;i++){answer[i] = findSum(nums,i,k,x);}return answer;}public static int findSum(int[] nums, int start, int k, int x) {Map<Integer, Integer> map = new HashMap<>();for (int i = start; i < start + k; i++) {if(map.containsKey(nums[i])){map.put(nums[i],map.get(nums[i])+1);}elsemap.put(nums[i],1);}LinkedHashMap<Integer, Integer> sortedMap = map.entrySet().stream().sorted((Comparator<? super Map.Entry<Integer, Integer>>) Map.Entry.<Integer, Integer>comparingByValue(Comparator.reverseOrder()).thenComparing(Map.Entry.comparingByKey(Comparator.reverseOrder()))).collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue,(e1, e2) -> e1,LinkedHashMap::new));int sum = 0;int index = 0;for(var entry : sortedMap.entrySet()){if(index >= x)break;sum += entry.getKey()*entry.getValue();index++;}return sum;}
}
http://www.dtcms.com/a/570170.html

相关文章:

  • 新手学做网站代码教育类网站建设
  • 好的淘客网站网站建设搭建运营
  • 坪山住房及建设局网站无锡网站制作方案
  • 广州专业网站建设哪家公司好公司制作网站费用怎么做分录
  • 获取图像中制定颜色区域
  • 中国智慧城市建设门户网站工商局加强网站建设的通知
  • quye.com的华为云服务器到期,转战阿里云,操作记录存档:ssh登录、nginx安装配置、用certbot进行证书的不同服务器转移
  • 网站建设协议书范本济南网络公司
  • Java代理详解:JDK 动态代理执行流程
  • 百度地图大模型应用开发实习一面(凉经)
  • 男人女人做性关系网站建筑公司企业技术负责人岗位职责
  • 做整站优化仿懒人图库网站源码
  • .net 微信网站开发紫金网站建设公司
  • 公司企业网站开发代做作业网站
  • 强化学习基础——各字母含义与马尔可夫决策
  • THC63LVDF84B高性能LVDS接收器,具备4路LVDS数据转换能力,输出28位CMOS/TTL信号THC63LVDF84
  • 快速上手PyTorch:强大高效的深度学习框架
  • 组队(牛客)
  • 西安企业建站在哪里做互联网营销师是什么
  • 帝国CMS + AWS:老牌内容系统的新生之路
  • 网站建设项目内容如何做wap网站
  • PLC学习-11.4(3hour)
  • 网站建设seo规范dw网页设计官网
  • Astro 常见问题
  • (ACP广源盛)GSV2221---DisplayPort 1.4 MST 到 HDMI 2.0/DP 转换器领域,集成嵌入式 MCU
  • 【2025 SWPU-NSSCTF 秋季训练赛】finalrce
  • seo网站排名优化培训教程开源网站模板
  • 望牛墩网站仿做普陀网站建设公司
  • 延安市建设工程交易中心网站视频号推广
  • 斐讯盒子T1_S912B芯片_安卓7.1.2或安卓9.0_线刷固件包