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

Golang | Leetcode Golang题解之第327题区间和的个数

题目:

题解:

func countRangeSum(nums []int, lower, upper int) int {var mergeCount func([]int) intmergeCount = func(arr []int) int {n := len(arr)if n <= 1 {return 0}n1 := append([]int(nil), arr[:n/2]...)n2 := append([]int(nil), arr[n/2:]...)cnt := mergeCount(n1) + mergeCount(n2) // 递归完毕后,n1 和 n2 均为有序// 统计下标对的数量l, r := 0, 0for _, v := range n1 {for l < len(n2) && n2[l]-v < lower {l++}for r < len(n2) && n2[r]-v <= upper {r++}cnt += r - l}// n1 和 n2 归并填入 arrp1, p2 := 0, 0for i := range arr {if p1 < len(n1) && (p2 == len(n2) || n1[p1] <= n2[p2]) {arr[i] = n1[p1]p1++} else {arr[i] = n2[p2]p2++}}return cnt}prefixSum := make([]int, len(nums)+1)for i, v := range nums {prefixSum[i+1] = prefixSum[i] + v}return mergeCount(prefixSum)
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据库系统 第2节 数据库语言
  • 一篇文章教会你 LVS———NAT模式和DR模式部署配置
  • 【ES6】使用Set和Map进行全组合判断
  • Java微服务生态系统构建指南
  • 《PostgreSQL 中通过函数实现不确定列的数据更新操作》
  • MYSQL 删除一个字段前,判断字段是否存在
  • 高级Web安全技术(第二篇)
  • C#学习笔记16:串口上位机数据绘图助手Plotter的开发
  • 如何学好uni-app
  • C# POST请求 各种实现方法梳理
  • 004集——静态常量和动态常量——C#学习笔记
  • 【通信原理】matlab中qammod的介绍
  • 作业8.9
  • ES架构模型
  • AI大模型赋能开发者|海云安创始人谢朝海受邀在ISC.AI 2024大会就“大模型在软件开发安全领域的应用”主题发表演讲
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【知识碎片】第三方登录弹窗效果
  • Angular4 模板式表单用法以及验证
  • create-react-app做的留言板
  • GraphQL学习过程应该是这样的
  • Hibernate【inverse和cascade属性】知识要点
  • October CMS - 快速入门 9 Images And Galleries
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • spring + angular 实现导出excel
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Spring框架之我见(三)——IOC、AOP
  • STAR法则
  • 反思总结然后整装待发
  • 服务器之间,相同帐号,实现免密钥登录
  • 驱动程序原理
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用common-codec进行md5加密
  • 手机端车牌号码键盘的vue组件
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 阿里云API、SDK和CLI应用实践方案
  • 交换综合实验一
  • ​​​【收录 Hello 算法】9.4 小结
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #Java第九次作业--输入输出流和文件操作
  • (3)STL算法之搜索
  • (C)一些题4
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (补充)IDEA项目结构
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (算法)大数的进制转换
  • (图)IntelliTrace Tools 跟踪云端程序
  • (学习日记)2024.01.19
  • (一)认识微服务
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (译)2019年前端性能优化清单 — 下篇
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**