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

初中生如何做网站wordpress主题开发工具

初中生如何做网站,wordpress主题开发工具,外呼电销系统,个人免费设计网站Halo,这里是Ppeua。平时主要更新C,数据结构算法,Linux与ROS…感兴趣就关注我bua! 和为K的子数组 题目:示例:题解:解法一:解法二: 题目: 示例: 题解: 解法一: 暴力解法:我们很容易想到通过两个for循环去遍…

在这里插入图片描述
Halo,这里是Ppeua。平时主要更新C++,数据结构算法,Linux与ROS…感兴趣就关注我bua!

和为K的子数组

  • 题目:
  • 示例:
  • 题解:
    • 解法一:
    • 解法二:

在这里插入图片描述

题目:

在这里插入图片描述

示例:

在这里插入图片描述

题解:

解法一:

暴力解法:我们很容易想到通过两个for循环去遍历数组中所有和的可能,之后来判断有几个满足K.他的代码十分的简单,所以这里直接给出.

class Solution {
public:int subarraySum(vector<int>& nums, int k) {int count = 0;for (int start = 0; start < nums.size(); ++start) {int sum = 0;for (int end = start; end >= 0; --end) {sum += nums[end];if (sum == k) {count++;}}}return count;}
};

这里通过一个start与end来控制子数组区间.若为K则计数++.

我们仔细观察这样的做法.可以很容易的发现,**我们可以通过前缀和来解决两层循环的问题.**于是就有了解法二:利用前缀和来解决此类问题.

解法二:

不熟悉前缀和的uu们可以看看这篇文章:[前缀和]((138条消息) 【高精度加减乘除法、一维二维前缀和&&差分】思路讲解及代码实现_ppeua的博客-CSDN博客)

这里就直接开始推导了,这里利用的是一维的前缀和方法.

定义:**pre[i]**表示从0~i的所有数组元素之和.

那么根据前缀和的定义:j~i区间内的元素之和可以表示为:pre[i]-pre[j-1],我们要判断的就是这个结果能不能等于K.

所以现在的求解就简化为下面这个式子:
在这里插入图片描述

我们对两边式子进行简单的数学推导可以得到.

在这里插入图片描述

这样我们可以通过一个hash来存储值,之后只要验证当前遍历的这个前缀和-k的结果是否出现在hash当中.若出现则+上其出现的次数.

代码较为简单:

class Solution {
public:int subarraySum(vector<int>& nums, int k) {for(int i=1;i<nums.size();i++){nums[i]+=nums[i-1];}unordered_map<int,int>mp;mp[0]=1;int res=0;for(int i=0;i<nums.size();i++){if(mp.find(nums[i]-k)!=mp.end()){res+=mp[nums[i]-k];}mp[nums[i]]++;}return res;}
};

有两个很重点的问题:

  1. 为什么mp[0]=1?

    为了应对 nums[0] +nums[1] + … + nums[i] == k,也就是从下标 0 累加到下标 i刚好满足的情况.

    举个例子:k为6

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d76gHMzW-1690721194136)(9feab2bfaa7a4eeaaf2882827c8466d.jpg)]

​ 当这种情况下,第一次遍历到原数组为3,前缀和数组为6的位置的时候.此时pre-k=0,是刚好满足情况的.所以需要先预设一个mp[0]=1的情况.

  1. 为什么是res+=mp[nums[i]-k]:

    举个例子:K仍为6

在这里插入图片描述

​ 这道题的答案是4,当遍历到第一个6的位置上时,得到第一个答案.遍历到第二个位置时,得到第二个答案.这两种情况都是:pre-k=0

遍历到12时得到第三个答案,此时pre-k=6.那么此时只有三个答案嘛?不是的,12-第一个6是一个答案.12-第二个6也是一个答案.

遍历到第二个位置时,得到第二个答案.这两种情况都是:pre-k=0

遍历到12时得到第三个答案,此时pre-k=6.那么此时只有三个答案嘛?不是的,12-第一个6是一个答案.12-第二个6也是一个答案.

所以:res+=mp[nums[i]-k],是为了直接加上相同情况的可能.

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

相关文章:

  • 网站里图片的作用大型电子商务网站建设成本
  • 猪八戒托管赏金做网站wordpress主题软件
  • 做国产免费视频网站wordpress 支持woocommerce
  • 注册网站验证码做网站商城多少钱
  • 网站欢迎页面 特效本地视频怎么生成链接
  • 编程网站有哪些网站建设开发全包
  • 小程序做网站怎么查看网站的备案号
  • 做进化树的网站网站seo步骤
  • 广州服务好的网站推广工具西安攻略旅游自由行怎么玩
  • 建设化妆品网站服务东莞招聘网站
  • 手机端网站设计尺寸哪里网站建设便宜
  • 单页网站制作需要多少钱怎么用自己电脑做网站服务器吗
  • 淘宝网站可以做轮播吗wordpress侧栏菜单加上序号
  • 17zwd一起做网站广州新塘展厅展示设计
  • 自已买域名做网站要多少钱免费的域名网址
  • 地板网站代码企业品牌推广网站
  • 珠海做网站哪家好深圳工程交易中心网
  • 阳泉营销型网站建设费用企业网站的建立主要用于企业内部发布信息
  • 品牌型网站建设哪家哪个网站可以做兼职ppt模板
  • 个人做淘宝客网站好做吗wordpress自定义编辑器
  • 中国建设银行网站首页签约wordpress 主题名称修改
  • 做ppt赚钱的网站开发公司硬底化路面工程入账
  • 自己做商业网站网页设计配色方案
  • 建行国际互联网网站长沙房地产信息平台
  • 网站建设 免费视频做交易平台网站
  • 国际站wap端流量青岛网站改版
  • 杭州模板建站定制网站网站制作案例策划
  • 网站添加wordpress博客网页设计师岗位介绍
  • 松江网站建设培训国家企业查询官网
  • 中山网站建设文化淘宝店铺做网站收录