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

个人网站如何制作抖音seo公司

个人网站如何制作,抖音seo公司,衣服商业网站建设策划书,网站开发实例视频教程好的,根据你提供的代码和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.yidumall.com/news/24166.html

相关文章:

  • 郑州建站系统在线咨询友情链接是免费的吗
  • 交互做的好网站seoul是韩国哪个城市
  • 开网店一个月能赚多少钱在线seo关键词排名优化
  • 推荐聊城做网站的公司百度竞价推广课程
  • 7 the wordpress中国seo网站
  • 酒吧dj做歌网站百度快照怎么打开
  • 如何联系网站站长学生个人网页制作素材
  • 包头网站网站建设南宁网络优化seo费用
  • 做投资的网站好关键词推广价格
  • 微信做兼职什么网站好seo页面内容优化
  • 外贸营销型网站建设公司北京搜索引擎优化seo专员
  • 快速制作网站seo网站推广简历
  • 重庆seo1铜陵seo
  • 大连百度推广公司有几家黄山seo公司
  • 旅游网站的网页设计百度网盘服务电话6988
  • wordpress 支持webp优化公司
  • scrm服务商seo搜索引擎
  • 武汉网站设计专业乐云seo论坛推广软件
  • 怎么做百度搜到的网站免费的seo求职信息
  • 河间做网站 申梦网络代发关键词包收录
  • 哪个网站做外贸的多上海seo怎么优化
  • 网站为什么需要备案号在线培训网站次要关键词
  • 外国网站的风格惠州百度关键词优化
  • 有什么网站可以做运动鞋线上广告投放渠道
  • vv游戏推广平台苏州搜索引擎优化
  • 互联网推广运营是干什么的草根seo视频大全网站
  • 大型网站开发视频搜一搜站长工具
  • iview做的网站北京网站优化快速排名
  • 网站建设文献文档产品推广方法
  • 济南市历城区疫情google关键词排名优化