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

网站页面设计的重要性网站管理后台地址怎么查询

网站页面设计的重要性,网站管理后台地址怎么查询,重庆旅游网站制作公司,网站建设计划时间节点继续每日一题,今天给大家分享一道经典的前缀和问题 先看一下题目,我带着大家通过一道题目去分析前缀和的思想和解决思路 题目描述: 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数…

继续每日一题,今天给大家分享一道经典的前缀和问题

先看一下题目,我带着大家通过一道题目去分析前缀和的思想和解决思路

题目描述:

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。
子数组是数组中元素的连续非空序列。

题目示例:
在这里插入图片描述

前缀和定义为从数组起始位置到当前位置(包括当前位置)的所有元素之和。

我们使用前缀和的思想。前缀和定义为从数组起始位置到当前位置(包括当前位置)的所有元素之和。

假设我们有一个数组 nums,那么前缀和数组 pre 的第 i 个元素 pre[i] 就是 nums[0] 到 nums[i] 的和。

那么,针对任意子数组(从下标 i 到 j,j>i)的和可以表示为 pre[j] - pre[i-1](这里如果i=0,则pre[-1]我们定义为0,即没有元素时和为0)。
p r e [ i ] = n u m s [ 0 ] + n u m s [ 1 ] + . . . + n u m s [ i ] p r e [ j ] = n u m s [ 0 ] + n u m s [ 1 ] + . . . + n u m s [ i ] + . . . + n u m s [ j ] pre[i]=nums[0]+nums[1]+...+nums[i]\\ pre[j]=nums[0]+nums[1]+...+nums[i]+...+nums[j] pre[i]=nums[0]+nums[1]+...+nums[i]pre[j]=nums[0]+nums[1]+...+nums[i]+...+nums[j]
任意子数组i->j的和则是:nums[i+1]+nums[i+2]+…+nums[j] 即:
p r e [ j ] − p r e [ i ] pre[j]-pre[i] pre[j]pre[i]

我们的目标是找到所有满足子数组和为 k 的情况,即:
p r e [ j ] − p r e [ i ] = k pre[j] - pre[i] = k pre[j]pre[i]=k

这里注意:pre[i]对应的是从0到i的和,那么从i+1到j的子数组和为pre[j]-pre[i])

但是,我们也可以看成:对于每个 j(当前遍历到的元素),我们要找有多少个 i(i < j)满足
p r e [ j ] − p r e [ i ] = k pre[j] - pre[i] = k pre[j]pre[i]=k

因此,我们可以遍历数组,计算每个位置的前缀和,然后检查在当前位置之前,有多少个位置的前缀和等于当前前缀和减去k。

为了快速查找,我们使用一个哈希表来记录之前出现过的前缀和以及它们出现的次数。

因为题目给的case有点简单,我们本次不在以题目中的case为例子去演示

nums = [3, 4, 7, 2, -3, 1, 4, 2],k = 7

定义:j为当前遍历到的元素,我们按照上面的分析过程,需要找到一个或多个i使其满足:
p r e [ i ] = p r e [ j ] − k pre[i]=pre[j]-k pre[i]=pre[j]k

当前遍历的元素jpre[j]pre[j]-k遍历到j时,map里的元素子数组数
j=0pre[0]=nums[0]=33-7=-4
哈希表中无-4
{0:1}0
j=1pre[1]=nums[0]+nums[1]=3+4=77-7=0
哈希表中有0
{0:1,3:1}0+1=1
j=2pre[2]=nums[0]+nums[1]+nums[2]=3+4+7=1414-7=7
哈希表中有7
{0:1,3:1,7:1}1+1=2
j=3pre[3]=nums[0]+nums[1]+nums[2]+nums[3]=3+4+7+2=1616-7=9
哈希表中无9
{0:1,3:1,7:1,14:1}2
j=4pre[4]=nums[0]+nums[1]+…+nums[4]=3+4+7+2-3=1313-7=6
哈希表中无6
{0:1,3:1,7:1,14:1,16:1}2
j=5pre[5]=nums[0]+nums[1]+…+nums[5]=3+4+7+2-3+1=1414-7=7
哈希表中有7
{0:1,3:1,7:1,14:1,16:1,13:1}2+1=3
j=6pre[6]=nums[0]+nums[1]+…+nums[6]=3+4+7+2-3+1+4=1818-7=11
哈希表中无11
{0:1,3:1,7:1,14:2,16:1,,13:1}3
j=7pre[7]=nums[0]+nums[1]+…+nums[7]=3+4+7+2-3+1+4+2=2020-7=13
哈希表中有13
{0:1,3:1,7:2,14:2,16:1,,13:1,18:1}3+1=4
j=8--{0:1,3:1,7:2,14:2,16:1,,13:2,18:1,20:1}4

所以子数组个数为2

理解了以上过程,代码实现就很简单了:

    public static int subarraySum(int[] nums, int k) {Map<Integer, Integer> prefixMap = new HashMap<>();//初始化前缀表prefixMap.put(0, 1);int sum = 0;int count = 0;for (int j = 0; j < nums.length; j++) {sum += nums[j];int i = prefixMap.getOrDefault(sum - k, 0);if (i > 0) {//说明存在prefix[i]count += i;}prefixMap.put(sum, prefixMap.getOrDefault(sum, 0) + 1);}return count;}

文章转载自:

http://bWEbX19u.rgsgk.cn
http://OX2lVSfE.rgsgk.cn
http://5QBzZyi0.rgsgk.cn
http://iZg5XgmJ.rgsgk.cn
http://s6DodtEa.rgsgk.cn
http://krONKLgY.rgsgk.cn
http://j4LcYmZz.rgsgk.cn
http://U45j74Bh.rgsgk.cn
http://cpFRaMJ7.rgsgk.cn
http://3sFcG9Zp.rgsgk.cn
http://DU2y1qzH.rgsgk.cn
http://uWrDjkpd.rgsgk.cn
http://UM9uTGxN.rgsgk.cn
http://Ly9OGBGc.rgsgk.cn
http://mxNz8r4n.rgsgk.cn
http://xelUaHXT.rgsgk.cn
http://9Vf5ny5d.rgsgk.cn
http://oKnxcm5f.rgsgk.cn
http://iWmhCzu9.rgsgk.cn
http://79PXtIVW.rgsgk.cn
http://PeDd1CEz.rgsgk.cn
http://ZHelvtca.rgsgk.cn
http://Phz6sAt4.rgsgk.cn
http://52U79QIg.rgsgk.cn
http://uIFoBH4Z.rgsgk.cn
http://FgHar7F9.rgsgk.cn
http://4jUv5gix.rgsgk.cn
http://GdgZ4Frw.rgsgk.cn
http://mxaLDuDj.rgsgk.cn
http://iS9Eli8z.rgsgk.cn
http://www.dtcms.com/wzjs/705079.html

相关文章:

  • 最权威的做网站设计公司价格Wordpress架构图
  • 上海招聘网站排名宝安附近做网站公司
  • 合肥建设工程招聘信息网站学会了dw就可以做网站吗
  • 网站建设服务费属于公司网站费用计入什么科目
  • 四川手机网站建设费用wordpress秒开优化
  • 网站改版对seo影响全网vip视频网站建设
  • 网站视频主持人wordpress进不去后台
  • 安阳网站建设公司出租车公司去掉wordpress
  • 网站建设 天津辽宁省城乡建设厅网站
  • 做文案策划需要看什么网站wordpress 苏醒主题
  • 平顶山建设公司网站怎么看网站的建站公司是哪个
  • 大凤号 网站建设wordpress设计导航
  • 深圳做网站得外包公司有哪些软件设计方案怎么写
  • 简单旅游网站模板下载什么插件可以做网站访问量统计
  • 中小企业网站功能模块及数据库表wordpress如何做导航网站
  • 网站建设界面建议中国建设银行网站保定五四路
  • 手机好看网站模板免费下载东莞住房建设网站的网
  • 运城建设银行网站莱芜都市网最新招聘信息
  • 南阳网站排名优化报价网络科技公司名称大全简单大气
  • 如何制作一个注册网站长沙网络营销公司哪家好
  • 你好南京网站网站建设公司-山而
  • 知名网站建设多少钱婚恋网站建设项目创业计划书
  • 做机械设备哪个网站好经营网站备案信息
  • 镇江网站建设一般多少钱建站需要会哪些语言
  • 开发网站要注意什么自动发货 wordpress
  • 赤峰是住房和城乡建设局网站网站关键词结构
  • 建设网站需要什么证件网站首页设计制作费用
  • 门户网站如何运营台州关键词优化推荐
  • 网站开发的报价虚拟网站php专业型
  • wordpress md风格主题科学新概念seo外链平台