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

【和相同的二元子数组】python刷题记录

R2-前缀和专题

目录

前缀和+哈希表

双指针

ps:

第一眼过去,这题应该能用双指针解出来,应该也能用前缀和解题。

前缀和+哈希表

适用于 nums[i] 值不固定为 0 和 1 的其他情况

class Solution:def numSubarraysWithSum(self, nums: List[int], goal: int) -> int:n=len(nums)prenum=[0]+list(accumulate(nums))dict=defaultdict(int,{0:1})ret=0for i in range(n):r=prenum[i+1]l=r-goalret+=dict[l]dict[r]+=1return ret

 

双指针

 

class Solution:def numSubarraysWithSum(self, nums: List[int], goal: int) -> int:#就是说[l1,l2]---r,左集合的个数代表当前i下所有可能,i移动就行n=len(nums)ret=l1=l2=s1=s2=0for i in range(n):s1+=nums[i]s2+=nums[i]#左集合左右端点的移动while l1<=i and s1>goal:s1-=nums[l1]l1+=1while l2<=i and s2>=goal:s2-=nums[l2]l2+=1ret+=l2-l1return ret

ps:

1.python功能使用

2.第一种方法中哈希表定义和使用也很ok啊 

http://www.lryc.cn/news/410277.html

相关文章:

  • 【单片机毕业设计选题24087】-基于北斗系统的智能路灯
  • [Docker][Docker常用命令]详细讲解
  • onlyoffice用nginx反向代理
  • JavaScript字符串转换成base64编码方法
  • 25.惰性队列
  • ControlNet on Stable Diffusion
  • 源码编译安装,及nginx服务控制、监控块
  • 在react中使用wangeditor富文本
  • 拉提查合创5步玩转git工具协作代码开发
  • React特点
  • 鸿蒙(HarmonyOS)自定义Dialog实现时间选择控件
  • 学习008-02-04-08 Localize UI Elements(本地化UI元素)
  • 如何系统的学习C++和自动驾驶算法
  • typescript 定义类
  • 认证授权概述和SpringSecurity安全框架快速入门
  • docker常用命令集锦
  • 学习Java的日子 Day56 数据库连接池,Druid连接池
  • 如何实现PostgreSQL对某一张表的WAL日志进行记录
  • 机器学习数学基础(2)--最大似然函数
  • 详解 @RequestHeader 注解在 Spring Boot 中的使用
  • C# 表达式树的简介与说明
  • 【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第六十三章 输入子系统实验
  • [补题记录]Leetcode 15. 三数之和
  • 什么是sql注入攻击,如何预防介绍一下mysql中的常见数据类型
  • 史上最全的Seata教学并且连接springcloudAlibaba进行使用
  • InternLM Git 基础知识
  • 【Unity模型】古代亚洲建筑
  • 木马后门实验
  • 【React】useState:状态更新规则详解
  • C#中的异步编程:Task、Await 和 Async