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

简单 网站设计珠海cp网站建设

简单 网站设计,珠海cp网站建设,广告公司可以开网站建设费吗,wordpress网站价钱【LeetCode刷题】Day 16 题目1:560.和为k的子数组思路分析:思路1:前缀和 哈希表 题目1:560.和为k的子数组 思路分析: 问题1:怎样找到数组所有子数组? 方式一:暴力枚举出来&#x…

【LeetCode刷题】Day 16

  • 题目1:560.和为k的子数组
    • 思路分析:
    • 思路1:前缀和 + 哈希表

在这里插入图片描述

题目1:560.和为k的子数组

在这里插入图片描述

思路分析:

问题1:怎样找到数组所有子数组?

方式一:暴力枚举出来,以i开始,列出以i开头的所有子数组[i,j](i <= j<= size-1)再i++,列出下一个位置开头的所有子数组。

方式二:前缀和思想,我们用dp[i]来表示[0,i]的数组,要找以i结尾的所有子数组,只需要 dp[i]-dp[j](0<= j <= i-1) 就可以表示所有以i结尾的子数组

下图就这题引入:
请添加图片描述

在这里插入图片描述
问题2:为什么这样转换?

因为在求以i结尾的所有子数组的和时,i和k是不变的,他们的差值也是固定值,所以问题就转换为:前缀和为k的数量,注意: 0<= j <=i-1

问题3:怎样不创建前缀和数组,但统计数量?

用一个int sum来就可以实现,再加上哈希表,就能解决这些问题。

思路1:前缀和 + 哈希表

代码实现:

class Solution {
public:int subarraySum(vector<int>& nums, int k) {//前缀和+哈希表unordered_map<int,int> hash;int sum=0 , ret=0;//处理当sum[i]本身等于k的情况hash[0] = 1;for(auto i : nums){sum+=i;//判断是否存在值为sum-k的key,有就加数量if(hash.count(sum - k)) ret+=hash[sum-k];hash[sum]++;}return ret;}
};

LeetCode链接:560.和为k的子数组

http://www.yayakq.cn/news/926267/

相关文章:

  • 网站运营培训机构优秀网站制作定制
  • 做html的简单网站平面设计网站大全有哪些
  • 南宁个人网站建设网站推广优化的公司
  • 网站要钱怎么有什么网站用名字做图片大全
  • 做医院网站微商软件
  • 团购营销型网站制作pico笔克品牌介绍
  • 用自己的电脑做服务器搭建网站什么是网站?
  • 擼擼擼做最好的导航网站作品集模板
  • 网站设计代码案例涿州市住房和城乡建设局网站
  • 网站做图分辨率数字营销是什么专业
  • 阿里云网站模板 解析网站空间商拿不回数据
  • 如何提高网站的点击量青海设计网站
  • 增城定制型网站建设营销软文500字
  • 免费设计自己名字头像拼多多标题关键词优化方法
  • 中移建设 公司 网站二手交易网站建设内容策划
  • 心海建站网站建设管理系统免费网站
  • 怎样做视频播放网站浙江省建设监理管理协会网站
  • 新乡市网站建设有哪些公司最全做暖暖网站
  • 开源企业网站网站建设的目的与意义是什么
  • 去哪找想做网站的客户网站要怎么创建
  • 做网站要用到什么响应式网站手机
  • 河南有名的做网站公司网络平台推广的好处
  • vue做的pc线上网站注册网站地址
  • 网站建设及规划wordpress恢复主题
  • 网站模板 扁平化wordpress 5.0网易云音乐
  • 网站开发环境搭建章节教材书wordpress post-new.php
  • 邓海舟网站建设教程看颜色应该搜索哪些词汇
  • 岳阳做网站多少钱上海企业信息
  • 市场营销是做什么的seo建设网站
  • 贵州安顺住房城乡建设网站网页简单制作流程