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

网站域名改了帝国cms网络营销专业是做什么的

网站域名改了帝国cms,网络营销专业是做什么的,做美女网站有哪些,汽车销售在哪些网站做推广文章目录 使用前缀和哈希表560.和为K的子数组525.连续数组2588.统计美丽子数组数目 子数组的定义是原来的数组当中连续的非空的序列,而我们的背包问题的选与不选的情况,对应的是这个非连续的情况,那么这种情况就要注意当然啦,对于线性的时间内…

文章目录

  • 使用前缀和+哈希表
    • 560.和为K的子数组
    • 525.连续数组
    • 2588.统计美丽子数组数目

  • 子数组的定义是原来的数组当中连续的非空的序列,而我们的背包问题的选与不选的情况,对应的是这个非连续的情况,那么这种情况就要注意
  • 当然啦,对于线性的时间内解决的问题我们可能会想到使用滑动窗口进行处理的问题,但是应该要注意 滑动窗口只适合用于单调的情况,也就是说nums数组是全部为非负数或者非正数的情况
    • 我们所使用能够使用滑动窗口求解这个子数组的和为k的情况,基于的理念就是,控制滑动窗口的l和r,当<k的时候,窗口向右边扩大,>k的情况,就窗口左边缩小,这个理论必须是基于单调的,也就是窗口越大,这个窗口的和值就越大
  • 对于前缀和来说,适用的场景就没有那么多的限制,任意的子数组之和都可以转化为前缀和的差

前缀和与查分的补充

  • 这个前缀和与哈希表的组合,有求解方案数(和为k值的方案数),那么记录的是每种和值所出现的次数,对于长度问题来说,就是统计每种和值所出现的最小的下标

使用前缀和+哈希表

560.和为K的子数组

560.和为K的子数组

在这里插入图片描述

思路分析

  • 首先求解的是连续的情况,所以考虑使用滑动窗口以及这个前缀和,但是由于存在正数和负数同时存在,所以就只能使用这个前缀和+哈希表
from collections import defaultdict
class Solution:def subarraySum(self, nums: List[int], k: int) -> int:# 不单调,不能使用这个滑动窗口# 使用前缀和,但是为了不用两层循环进行遍历,所以我们得使用一个哈希表进行处理n = len(nums)store = defaultdict(int)pre = [0]*(n+1)for i in range(n):pre[i+1] = pre[i] + nums[i]# pre[i] - pre[j] = k ,那么只需在哈希表中查询这个pre[i] - k 的个数即可ans = 0# 注意这个 0:1也要加进去for i in range(n+1):ans += store[pre[i] - k]store[pre[i]] += 1return ans

525.连续数组

525.连续数组

在这里插入图片描述

  • 参照和为k的子数组的思路,但是你会发现一个问题,这个0,1的统计时分难统计,难道要直接分别统计0和1各自的数量吗?
  • 当然不是,所以得进行巧妙的转换:把这个0替换成-1,然后我们只需统计这个 和为0最长子数组即可,在使用哈希表的时候,我们不是记录这个某个和值的出现的次数,而是改为记录该和值出现的最小的下标
class Solution:def findMaxLength(self, nums: List[int]) -> int:n = len(nums)newnum = [0]*n # 进行转化for i in range(n):if nums[i] == 0:newnum[i] = -1else:newnum[i] = 1# 求解前缀和pre = [0]*(n+1)for i in range(n):pre[i+1] = pre[i] + newnum[i]store = {}ans = 0for i in range(n+1):# 判断该键是否出现过if pre[i] in store.keys():ans = max(ans,i - store[pre[i]])else:store[pre[i]] = ireturn ans

2588.统计美丽子数组数目

2588.统计美丽子数组数目

在这里插入图片描述

  • 子数组是全部为0,也就是和值为0,那么对于减去的每一位来说,其实就是要求对应位数上的1是偶数个数的,对于判断是否是偶数个1,那么我们直接考虑使用这个 异或进行操作,也就是 异或值为0的子数组的个数情况
from collections import defaultdict
class Solution:def beautifulSubarrays(self, nums: List[int]) -> int:# 求解方案数n = len(nums)# 异或前缀pre = [0]*(n+1)for i in range(n):pre[i+1] = pre[i]^nums[i]store = defaultdict(int)# 遍历ans = 0for i in range(n+1):ans += store[pre[i]]store[pre[i]] += 1return ans
http://www.yidumall.com/news/50969.html

相关文章:

  • 网站建设服务器都有哪些淘宝seo
  • 长沙旅游攻略三日游seo网站优化培训多少价格
  • 武汉网络公司武汉做网站公司个人网站设计图片
  • 网站建设与网页设计实训报告湖南网站建设营销推广
  • 房地产交易网站模版建个网站费用大概多少钱一年
  • python可以做网站前台么专业做网络推广的公司
  • 网站建设多语种自动翻译插件教育机构加盟
  • 站长工具备案查询模板网站哪个好
  • 源服务器发生5xx错误抖音seo招商
  • 免费营销网站制作常用的搜索引擎有哪些?
  • 68Design一样设计网站济南百度推广公司电话
  • 深圳分销网站设计费用上海企业网站seo
  • 网站设计 公司 长沙百度客服人工电话24小时
  • 做一网站优化要多少钱请输入搜索关键词
  • 傻瓜式网站简单界面官网优化哪家专业
  • 通州区网站建设网销是什么工作好做吗
  • 岳阳网站项目建设报道二维码推广赚佣金平台
  • 重庆微信开发网站建设怎么制作自己的网站网页
  • 这么做输入文字的网站seo的课谁讲的好
  • 网站流量 次网络舆情监测中心
  • 石家庄住房和城乡建设厅网站什么是搜索引擎营销?
  • 建网站电话百度关键词优化软件怎么样
  • 路桥做网站上海seo外包公司
  • 网站建设 淄博seo智能优化软件
  • 做电影网站怎么选服务器种子搜索神器
  • 公司做网站买域名之后做什么公司网站建设步骤
  • 专业网站建站公司网络热词英语
  • 帮人注册网站 做app企业文化案例
  • 厦门市网站建设app开发网络推广优化品牌公司
  • 门户型网站开发难度网站排行