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

莱特币做空网站网站开发系统学习

莱特币做空网站,网站开发系统学习,wordpress插件的使用方法,做电商网站用什么软件文章目录 方法思路:前缀和 哈希表核心思想关键步骤 代码实现复杂度分析示例解析总结 题目描述 给定一个整数数组 nums 和一个整数 k,请统计并返回该数组中和为 k 的子数组的数量。 子数组是数组中连续的非空元素序列。 示例 输入:nums …

文章目录

    • 方法思路:前缀和 + 哈希表
      • 核心思想
        • 关键步骤
    • 代码实现
    • 复杂度分析
    • 示例解析
    • 总结

题目描述
给定一个整数数组 nums 和一个整数 k,请统计并返回该数组中和为 k 的子数组的数量。
子数组是数组中连续的非空元素序列。

示例

输入:nums = [1,2,3], k = 3  
输出:2  
解释:子数组 [1,2] 和 [3] 满足和为 3。

方法思路:前缀和 + 哈希表

核心思想

暴力枚举所有子数组的时间复杂度为 O(n²),无法处理大规模数据。利用前缀和哈希表的结合,可以在 O(n) 时间内高效解决问题。

关键步骤
  1. 前缀和
    计算到当前元素为止的前缀和 currentSum。例如,遍历到第 i 个元素时,前缀和为 nums[0] + nums[1] + ... + nums[i]

  2. 哈希表优化

    • 哈希表 prefixSumMap 存储每个前缀和的出现次数。
    • 若存在某个前缀和 prefixSum,使得 currentSum - prefixSum = k,则说明从 prefixSum 对应的索引之后到当前位置的子数组和为 k
    • 通过哈希表快速查找 currentSum - k 是否存在,并累加其出现次数。
  3. 初始化技巧
    初始化哈希表为 {0: 1},表示前缀和为 0 出现了一次,用于处理从数组起始位置到当前位置的子数组和为 k 的情况。


代码实现

import java.util.HashMap;
import java.util.Map;class Solution {public int subarraySum(int[] nums, int k) {Map<Integer, Integer> prefixSumMap = new HashMap<>();prefixSumMap.put(0, 1); // 初始化:前缀和为0时出现1次int currentSum = 0;     // 当前前缀和int result = 0;         // 统计结果for (int num : nums) {currentSum += num;  // 更新当前前缀和// 若存在前缀和为 (currentSum - k),则累加其出现次数if (prefixSumMap.containsKey(currentSum - k)) {result += prefixSumMap.get(currentSum - k);}// 将当前前缀和加入哈希表,并更新出现次数prefixSumMap.put(currentSum, prefixSumMap.getOrDefault(currentSum, 0) + 1);}return result;}
}

复杂度分析

  • 时间复杂度:O(n),遍历数组一次。
  • 空间复杂度:O(n),哈希表存储最多 n 个不同的前缀和。

示例解析

nums = [1, 2, 3]k = 3 为例:

遍历元素currentSumcurrentSum - k结果累加哈希表更新
111 - 3 = -20{0:1, 1:1}
233 - 3 = 00 + 1 =1{0:1, 1:1, 3:1}
366 - 3 = 31 + 1 =2{0:1, 1:1, 3:1, 6:1}
  • 结果:最终 result = 2,对应子数组 [1,2][3]

总结

  1. 前缀和与哈希表的结合是解决子数组和问题的经典方法,适用于大规模数据。
  2. 初始化哈希表{0:1} 是关键,确保能正确统计到从数组起始位置开始的子数组。
  3. 通过空间换时间,将时间复杂度从 O(n²) 优化到 O(n)。

文章转载自:

http://5TwNm0Jn.tfpqd.cn
http://g7iB41CR.tfpqd.cn
http://zv9OtXXu.tfpqd.cn
http://wkDhMcbD.tfpqd.cn
http://QKB00jRJ.tfpqd.cn
http://HQjzksjW.tfpqd.cn
http://Hjg3SJ5M.tfpqd.cn
http://PuYfNXNh.tfpqd.cn
http://z1b2tUv7.tfpqd.cn
http://U79xdbct.tfpqd.cn
http://TPiDZsR4.tfpqd.cn
http://NDlnDxOX.tfpqd.cn
http://vPWfmYCm.tfpqd.cn
http://L3bjY7Og.tfpqd.cn
http://GzFmKRxy.tfpqd.cn
http://zriIpu6y.tfpqd.cn
http://L56cfQo4.tfpqd.cn
http://E02e8uMW.tfpqd.cn
http://ixxCPoRj.tfpqd.cn
http://RpW2b6La.tfpqd.cn
http://h20NbfkZ.tfpqd.cn
http://dyDG9MOm.tfpqd.cn
http://gRfTqkUw.tfpqd.cn
http://YOu0QBuV.tfpqd.cn
http://Zsxan1o3.tfpqd.cn
http://ptQ0SCce.tfpqd.cn
http://lxswDR6g.tfpqd.cn
http://G2YboeNX.tfpqd.cn
http://pzaFXVpX.tfpqd.cn
http://sIWG2JgH.tfpqd.cn
http://www.dtcms.com/wzjs/625368.html

相关文章:

  • 深圳建网站公司怎么选择苏州做公司邮箱企业网站
  • 深圳龙华做网站的公司wordpress换域名主题
  • 网站开发需要多长时间上海网站建站服务
  • 万齐网站建设中铁建设集团招标平台
  • 朋友圈广告河北seo网站优化报价
  • 苏州专门网站给我一个网站2021
  • 网站文章排版的重要性做程序任务发布的网站
  • 太原便宜做网站的公司中山手机网站建设
  • 利搜网站排名软件wordpress百度云插件下载
  • 河南企业建设网站ipv6网站开发
  • 番号网站怎么做视频播放网站建设
  • 常用网站开发语言河南省新闻奖评选通知
  • 网站应如何设计精准流量推广
  • 网上商城开题报告免费网站自动优化软件
  • wordpress网站维护中莆田百度推广开户
  • 益阳建设局网站wordpress评论可见插件
  • 软件源码购买一般在哪个网站可免费下载的ppt模板
  • 淘宝网做网站比较好的app创意想法
  • 做网站建多大的画布wordpress能大网站主题
  • 想开个网站怎么做播视频网站开发
  • 用网站做淘宝客怎么样制作网站商
  • 网站做定向的作用网站代运营服务公司
  • 驻马店做网站建设的公司建设单位网站
  • 网站的图片怎么制作vs加数据库做网站
  • 网站建设费税收分类百度导航下载2022最新版
  • 更换网站logo开发高端网站开发
  • php做的静态网站怎么加密wordpress填写qq自动评论
  • 网站psd模板wordpress 单词被打断
  • 建湖做网站需要多少钱杭州做seo的公司
  • 企业网站推广方法和技巧快速搭建网站系统