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

做网站一般图片的比例网络营销产品概念的五个层次

做网站一般图片的比例,网络营销产品概念的五个层次,龙元建设网站,公司注册资金认缴和实缴的区别【前缀和】和为 K 的子数组 题目描述算法原理和细节问题代码 题目描述 和为 K 的子数组 给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。 示例 1: 输入:nums [1,1,1], k 2 输出: 2 解释: 此题 [1,1] 与 [1,1] 为两种不同的…

【前缀和】和为 K 的子数组

  • 题目描述
  • 算法原理和细节问题
  • 代码

题目描述

和为 K 的子数组

给定一个整数数组和一个整数 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

算法原理和细节问题

在这里插入图片描述
在这里插入图片描述
解法(将前缀和存在哈希表中):
算法思路:
设 i 为数组中的任意位置,⽤ sum[i] 表⽰ [0, i] 区间内所有元素的和。
想知道有多少个「以 i 为结尾的和为 k 的⼦数组」,就要找到有多少个起始位置为 x1, x2, x3… 使得 [x, i] 区间内的所有元素的和为 k 。那么 [0, x] 区间内的和是不是就是sum[i] - k 了。于是问题就变成:
◦ 找到在 [0, i - 1] 区间内,有多少前缀和等于 sum[i] - k 的即可。
我们不⽤真的初始化⼀个前缀和数组,因为我们只关⼼在 i 位置之前,有多少个前缀和等于sum[i] - k 。因此,我们仅需⽤⼀个哈希表,⼀边求当前位置的前缀和,⼀边存下之前每⼀种前缀和出现的次数。

代码

C++ 算法代码:

class Solution
{
public:int subarraySum(vector<int>& nums, int k) {unordered_map<int, int> hash; // 统计前缀和出现的次数hash[0] = 1;int sum = 0, ret = 0;for(auto x : nums){sum += x; // 计算当前位置的前缀和if(hash.count(sum - k)) ret += hash[sum - k]; // 统计个数hash[sum]++;}return ret;}
}

Java 算法代码:

class Solution {public int subarraySum(int[] nums, int k) {Map<Integer, Integer> hash = new HashMap<Integer, Integer>();hash.put(0, 1);int sum = 0, ret = 0;for(int x : nums){sum += x; // 计算当前位置的前缀和ret += hash.getOrDefault(sum - k, 0); // 统计结果hash.put(sum, hash.getOrDefault(sum, 0) + 1); // 把当前的前缀和丢到哈希表⾥⾯}return ret;}
}

:统计结果 和 把当前的前缀丢到哈希表里不能换顺序
否则k=0时将不会输出0

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

相关文章:

  • 珠海市建设局网站广东省建设厅信息网
  • 建设工程消防网站进入程序怎么做钓鱼网站生成
  • 开业时网站可以做哪些活动小程序商城开发华网天下优秀
  • 电子商务的网站案例长沙优化网站关键词
  • 做设计的网站定制创建国际网站
  • 怎样把网站上传到空间在线免费crm黑白配
  • 做网站 人工智能江门企业网站模板建站
  • 湖北省建设规划网站中企动力 网站模板
  • 建设网站时以什么为导向营销号视频生成器网页版
  • 网站备案号有什么用服务好的成都网站建设
  • 推荐几个网站漳州网站开发找出博大科技
  • 网站为什么吸引人网站速度打开慢的原因
  • 廊坊网站备案移动互联网推广
  • 做传销一般是不是有网站怎样做网站策划
  • 网站建设服务中企动力推荐杭州有哪些网络公司
  • 郑州网站推广公司ai做的比较好的网站
  • 展会网站源码快速搭建外贸网站
  • 个人网站的内容免费下载软件的网站有哪些
  • 网站代理加盟赚钱吗用dw制作个人网站
  • 我的网站别人给黑链 攻击网站建设与管理案例柳洪轶
  • 建设电影网站视频北京新浪网站制作公司
  • 犀牛云做网站如何用什么网站做pathway分析
  • wordpress多站点插件做网站就是做服务
  • 深圳市建设培训中心网站公司起名字免费软件
  • 如何进行企业营销型网站建设规划wordpress搭建公司网站
  • 南京模板网站建设企业广东品牌设计公司
  • 淄博免费网站建设黄骅市长
  • 更新网站内容门户网站开发报价
  • 公司网站开发 建设做的好的排版网站
  • 做网站需要的电脑配置互联网营销的十五种方式