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

网业怎么做太原seo优化公司

网业怎么做,太原seo优化公司,日本网站开发工作,网站建设的搜索栏怎么设置题目 给定一个整数数组和一个整数 k &#xff0c;请找到该数组中和为 k 的连续子数组的个数。 示例 1&#xff1a; 输入:nums [1,1,1], k 2输出: 2解释: 此题 [1,1] 与 [1,1] 为两种不同的情况 示例 2&#xff1a; 输入:nums [1,2,3], k 3输出: 2 提示: 1 < nums.leng…

题目

给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。

示例 1:

输入:nums = [1,1,1], k = 2
输出: 2
解释: 此题 [1,1] 与 [1,1] 为两种不同的情况


示例 2:

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

提示:

  • 1 <= nums.length <= 2 * 104
  • 1000 <= nums[i] <= 1000
  • 107 <= k <= 107

解题思路

前置知识

前缀和

前缀和:顾名思义,是要求前缀的总和,什么是前缀,对于一个存放数字的数组而言,前缀就是指的数组的前k项,因此对应的前缀和就是数组前k项的和。前缀和一般用来求数组中连续段子数组的值的和,类似于等差数列中利用等差数列的和来求某一段子数列的和:在这里插入图片描述

 举个例子:

我们有一个数组nums = [2,4,6,1,4]

下面我们来计算nums数组的前缀和数组arr,arr[i] = arr[i-1] + nums[i]

第一个元素由于没有前缀所以只能是nums[0],也就是2 

 第二个元素就等于arr[1] = arr[0] + nums[1]

 

 

 

 我们得到的nums的前缀和数组就为 arr = [2,6,12,13,17]

作用:

那么我们得到这个前缀和数组到底有什么用呢?

有了前缀和数组我们就可以方便的计算出,一个数组的区间之内的和,例如我们要求出nums[2]~nums[4] 的和。

nums[2]~nums[4] =nums[2] + nums[3] +nums[4] =  arr[4] - arr[1] = 11

可以直接用前缀和数组中的两个元素求出,不用再进行相加操作。这样可以有效的减少我们的重复计算。

代码为:

    public int[] prefix(int[] nums) {int[] prefix = new int[nums.length];prefix[0] = nums[0];for (int i = 1; i < nums.length; ++i) {prefix[i] = prefix[i - 1] + nums[i];}return prefix;}

1.题目要求我们找到该数组中和为 k 的连续子数组的个数,我们可以先计算出数组的前缀和。

2.然后我们利用两个for循环遍历整个原数组,枚举求出各个区间的和,若和等于k,则answer加一,注意这里,如果区间为[0,n]时,也就是左区间为0时,区间和[0,n] 就等于 arr[n],这个情况比较特殊所以我们要单独计算。最后返回answer即可。

代码实现

class Solution {public int subarraySum(int[] nums, int k) {int[] sum = new int[nums.length];sum[0] = nums[0];for(int i = 1; i < nums.length; i++){sum[i] = sum[i-1] + nums[i];}int answer = 0;for(int i = 0; i < nums.length; i++){if(sum[i] == k){answer++;}for(int j = i + 1; j < nums.length; j++){if(  sum[j] - sum[i] == k){answer ++;}}}return answer;}
}

测试结果

 

 

http://www.dt0577.cn/news/31732.html

相关文章:

  • 做外贸的有哪些网站有哪些网站优化资源
  • vue配合什么做网站比较好百度怎么免费推广
  • 繁体网站怎么做seo流量排名工具
  • wordpress设置密码链接公众号seo排名优化
  • 网站按钮代码祁阳seo
  • 工业设计作品集seo分析案例
  • 网站开发合肥爱链接购买链接
  • wordpress上传网站模板武汉seo价格
  • 一家专做土特产的网站网络seo是什么意思
  • 全网营销型网站建设免费注册域名网站
  • 域名服务网站建设科技公司seo职业培训班
  • 网站建设服务器选择企业应该如何进行网站推广
  • 互联网营销师培训课程合肥seo优化排名公司
  • 用php做网站和go做网站营销方案怎么写模板
  • 公安网站备案号查询系统在线友情链接
  • 怎么做自己的优惠券网站百度app官网下载
  • 网站建设实训报告样板百度信息流账户搭建
  • 南京市住房和城乡建设厅网站网络广告策划方案
  • 政务网站网上调查怎么做google框架一键安装
  • 给诈骗团伙做网站企业网站制作方案
  • 日照高端网站建设无锡百度推广开户
  • 网站 动画 怎么做的软文营销范文100字
  • 域名停靠已满十八阿亮seo技术
  • 大连金广建设集团网站chrome下载
  • 国企网站建设免费卖货平台
  • 微信制作网站公司简介免费建站工具
  • 上海网站建设竞价网络推广
  • 用js做网站宣传软文是什么
  • 福建住房与城乡建设部网站品牌网络营销推广方案策划
  • 洞口做网站多少钱百度网盘官网登录首页