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

个人网站如何制作最打动人心的广告语

个人网站如何制作,最打动人心的广告语,如何利用fortran语言建设网站,中国煤炭建设协会网站qc好的,根据你提供的代码和LeetCode题号(697),我将帮助你生成一个结构化的Markdown文档。首先,我们需要补充一些必要的信息,如题目描述、示例、思路分析等。如果你能提供这些信息会更好,否则我会基…

好的,根据你提供的代码和LeetCode题号(697),我将帮助你生成一个结构化的Markdown文档。首先,我们需要补充一些必要的信息,如题目描述、示例、思路分析等。如果你能提供这些信息会更好,否则我会基于常见的题解模式进行推测。

以下是完整的Markdown文档:

# LeetCode 697## 目录
- [题目描述](#题目描述)
- [示例](#示例)
- [思路分析](#思路分析)
- [代码段](#代码段)
- [代码逐行讲解](#代码逐行讲解)
- [复杂度分析](#复杂度分析)
- [总结的知识点](#总结的知识点)
- [整合](#整合)
- [总结](#总结)---## 题目描述给定一个非空且只包含非负数的整数数组 `nums`,数组的度定义为元素出现次数的最大值。找到与原数组具有相同度的最短连续子数组,并返回其长度。---## 示例### 示例 1**输入:**
```java
nums = [1, 2, 2, 3, 1]

输出:

2

解释:

  • 数组的度是2,因为元素2出现了两次。
  • 最短的子数组是从索引1到2,长度为2。

示例 2

输入:

nums = [1,2,2,3,1,4,2]

输出:

6

解释:

  • 数组的度是3,因为元素2出现了三次。
  • 最短的子数组是从索引1到6,长度为6。

思路分析

问题核心

找到与原数组具有相同度的最短连续子数组,并返回其长度。

思路拆解

  1. 统计每个元素的出现次数
    • 使用哈希表记录每个元素的出现次数。
  2. 确定数组的度
    • 找出出现次数最多的元素的次数。
  3. 寻找最短子数组
    • 使用滑动窗口技术来找到满足条件的最短子数组。

代码段

class Solution {public int findShortestSubArray(int[] nums) {int l = 0, r = 0, len = nums.length, res = len + 1;Map<Integer, Integer> map = new HashMap<>();Map<Integer, Integer> map1 = new HashMap<>();int count = 0;for (int i : nums) {map1.put(i, map1.getOrDefault(i, 0) + 1);count = Math.max(count, map1.get(i));}while (r < len) {map.put(nums[r], map.getOrDefault(nums[r], 0) + 1);r++;while (map.get(nums[r - 1]) == count) {map.put(nums[l], map.get(nums[l]) - 1);res = Math.min(res, r - l);l++;}}return res;}
}

在这里插入图片描述


代码逐行讲解

  1. 初始化变量

    int l = 0, r = 0, len = nums.length, res = len + 1;
    
    • 初始化左右指针lr,数组长度len,以及结果res
  2. 统计每个元素的出现次数

    Map<Integer, Integer> map = new HashMap<>();
    Map<Integer, Integer> map1 = new HashMap<>();
    int count = 0;for (int i : nums) {map1.put(i, map1.getOrDefault(i, 0) + 1);count = Math.max(count, map1.get(i));
    }
    
    • 使用map1统计每个元素的出现次数,并找出最大出现次数count
  3. 滑动窗口查找最短子数组

    while (r < len) {map.put(nums[r], map.getOrDefault(nums[r], 0) + 1);r++;while (map.get(nums[r - 1]) == count) {map.put(nums[l], map.get(nums[l]) - 1);res = Math.min(res, r - l);l++;}
    }
    
    • 使用滑动窗口技术查找满足条件的最短子数组。
  4. 返回结果

    return res;
    

复杂度分析

时间复杂度

  • 统计元素出现次数:O(n)
  • 滑动窗口遍历:O(n)
  • 总时间复杂度:O(n)

空间复杂度

  • 使用了两个哈希表存储元素及其出现次数:O(n)

总结的知识点

  1. 哈希表的应用
    • 用于统计元素出现次数。
  2. 滑动窗口技术
    • 用于高效查找满足条件的最短子数组。
  3. 数组度的概念
    • 数组中元素出现次数的最大值。

整合

class Solution {public int findShortestSubArray(int[] nums) {int l = 0, r = 0, len = nums.length, res = len + 1;Map<Integer, Integer> map = new HashMap<>();Map<Integer, Integer> map1 = new HashMap<>();int count = 0;for (int i : nums) {map1.put(i, map1.getOrDefault(i, 0) + 1);count = Math.max(count, map1.get(i));}while (r < len) {map.put(nums[r], map.getOrDefault(nums[r], 0) + 1);r++;while (map.get(nums[r - 1]) == count) {map.put(nums[l], map.get(nums[l]) - 1);res = Math.min(res, r - l);l++;}}return res;}
}

总结

通过使用哈希表统计每个元素的出现次数,并结合滑动窗口技术,可以高效地找到与原数组具有相同度的最短连续子数组。


http://www.laogonggong.com/news/38631.html

相关文章:

  • 照片书哪个网站做的好每天4元代发广告
  • 内蒙古建设工程交易中心网站长尾关键词挖掘站长工具
  • 建站公司服务深圳网络营销推广公司
  • 厦门网站建设哪家专业朋友圈广告30元 1000次
  • 无障碍环境建设 网站爱站网关键词查询网站的工具
  • wordpress全站伪静态互联网广告营销
  • 网络营销是什么部门天津seo渠道代理
  • 培训教育行业网站建设方案web网页制作成品免费
  • 小型电子商务网站开发磁力猫torrentkitty官网
  • 什么叫网页什么叫网站全国唯一一个没有疫情的城市
  • 给鹤壁政府网站做维护的是那个公司英文seo兼职
  • 做画册去什么网站找素材重庆seo1
  • 邢台市建设工程质量监督网站自己怎么做网站
  • 网站建设问题大全百度关键词搜索查询
  • wordpress最新版怎么变成英文站长工具seo综合查询问题
  • 网站空间租用续费服务合同郑州seo代理公司
  • 品牌建设的具体内容贵州整站优化seo平台
  • 做外贸网站平台有哪些整合营销什么意思
  • 电子商务网站开发文档潍坊网站建设平台
  • 驻马店高端网站建设代刷网站推广
  • 深圳做网站建设青岛网站制作推广
  • 做外贸做网站网站建设平台软件
  • 基于html5的旅游网站的设计与实现黄页
  • php网站开发结构点击器免费版
  • 微信h5游戏网站建设四川疫情最新消息
  • 做别人一样的网站吗seopeix
  • 做网站开发工资怎样电脑培训网上课程
  • dw6做网站手机系统流畅神器
  • 怎么做网站后台界面如何推广网站方法
  • 网站属于什么公司太原百度快速优化