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

网站制作将栏目分类学校网站建设招标公告

网站制作将栏目分类,学校网站建设招标公告,网站建设设计主要系统,数字展厅展馆解决专家1 题目:和为 K 的子数组 官方标定难度:中 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出&…

1 题目:和为 K 的子数组

官方标定难度:中

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。

子数组是数组中元素的连续非空序列。

示例 1:

输入:nums = [1,1,1], k = 2
输出:2

示例 2:

输入:nums = [1,2,3], k = 3
输出:2

提示:

1 < = n u m s . l e n g t h < = 2 ∗ 1 0 4 1 <= nums.length <= 2 * 10^4 1<=nums.length<=2104
− 1000 < = n u m s [ i ] < = 1000 -1000 <= nums[i] <= 1000 1000<=nums[i]<=1000
− 1 0 7 < = k < = 1 0 7 -10^7 <= k <= 10^7 107<=k<=107

2 solution

本题需要反复计算区间和,所以用前缀和——减法代替区间求和。还需要反复验证有没有连个数的差是否是目标数,所以可以用 hashmap 。

代码

class Solution {
public:
int subarraySum(vector<int> &nums, int k) {/** 计算前缀和,用 hashmap 存储, 动态查看有之前有几个值满足 pre_sum[i] - k,记录下来*/unordered_map<int, int> pre;int sum = 0;int pre_sum = 0;for(int i = 0; i < nums.size(); i++){pre_sum += nums[i];// int target = pre_sum - k;sum += pre[pre_sum - k];if( pre_sum == k) sum++;pre[pre_sum]++;}return sum;
}
};

结果

在这里插入图片描述

http://www.dtcms.com/wzjs/790638.html

相关文章:

  • 网站建设到一半想换一家wordpress怎么防爬虫
  • 网站建设及报价网站建设与管理用什么软件有哪些
  • 哈尔滨网站优化排名上海景观设计公司
  • 武威网站建设优化设计常用网站
  • 陕西省关于网站信息内容建设工业设计案例网站
  • 政网站首页怎么做试技术网站有哪些
  • 采集规则wordpress包头网站建设SEO优化制作设计公司
  • 做一个静态网站导航要多少钱php在线做网站
  • 广州网站搭建费用河北省网站建设公司排名
  • wix做网站的建议南通建设信息网站
  • 如何提高网站点击量世界青田网app
  • 平凉有做企业网站的吗购买域名
  • 烟台网站建设方案做网站端口内容无法替换
  • 模板建站百汇游戏网站开发商
  • 无锡抖音代运营公司合肥专业网站优化
  • 盐城网站开发代理咨询网站空间控制面板
  • 网站注册地址苏州seo排名外包
  • 免费推广网站途径有哪些集团公司简介模板
  • 河北衡水建设网站公司中英网站怎么做
  • 深圳商城手机网站建设微商做图王官方网站
  • 免费可商用素材网站comsenzexp wordpress
  • 网站推广员招聘泉州哪家网站建设公司好
  • 临高网站建设科威网络做网站怎么样
  • 开发一个网站的步骤怎么用PS做珠宝网站
  • 门户网站 移动端网站的类型有哪些
  • 网站建设合作关于网站建设的大学
  • 辽宁建设培训网站微信公众号 链接微网站
  • 网站哪个做的好设计一个电商网站的首页
  • 怎么做兼职类网站吗做公司网站麻烦吗
  • 中国建设信用卡网站首页汕头网络推广哪里好