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

淘宝的网站是怎么做的企业宣传网页设计

淘宝的网站是怎么做的,企业宣传网页设计,外贸一站式推广服务,网站建设学什么语音【LetMeFly】2799.统计完全子数组的数目:滑动窗口(哈希表) 力扣题目链接:https://leetcode.cn/problems/count-complete-subarrays-in-an-array/ 给你一个由 正 整数组成的数组 nums 。 如果数组中的某个子数组满足下述条件&am…

【LetMeFly】2799.统计完全子数组的数目:滑动窗口(哈希表)

力扣题目链接:https://leetcode.cn/problems/count-complete-subarrays-in-an-array/

给你一个由 整数组成的数组 nums

如果数组中的某个子数组满足下述条件,则称之为 完全子数组

  • 子数组中 不同 元素的数目等于整个数组不同元素的数目。

返回数组中 完全子数组 的数目。

子数组 是数组中的一个连续非空序列。

 

示例 1:

输入:nums = [1,3,1,2,2]
输出:4
解释:完全子数组有:[1,3,1,2]、[1,3,1,2,2]、[3,1,2] 和 [3,1,2,2] 。

示例 2:

输入:nums = [5,5,5,5]
输出:10
解释:数组仅由整数 5 组成,所以任意子数组都满足完全子数组的条件。子数组的总数为 10 。

 

提示:

  • 1 <= nums.length <= 1000
  • 1 <= nums[i] <= 2000

解题方法:滑动窗口

首先使用一个哈希表统计数组中出现了多少种的元素(记为allType)。

接着再使用一个哈希表,统计窗口中每个元素出现多少次。

数组中的元素依次加入窗口中,当窗口中元素种类数为allType并且窗口中第一个元素出现次数不为1时,左移窗口左指针。

这样,就保证了每次窗口右指针确定时,左指针指向位置为最后一个“窗口合法”的位置(或0)。

  • 时间复杂度 O ( l e n ( n u m s ) ) O(len(nums)) O(len(nums))
  • 空间复杂度 O ( l e n ( n u m s ) ) O(len(nums)) O(len(nums))

AC代码

C++
/** @Author: LetMeFly* @Date: 2025-04-24 22:47:03* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-04-24 23:05:27* @Description: AC,36.08%,63.38%*/
class Solution {
public:int countCompleteSubarrays(vector<int>& nums) {unordered_set<int> visited;for (int t : nums) {visited.insert(t);}int allType = visited.size();unordered_map<int, int> times;int ans = 0;for (int l = 0, r = 0; r < nums.size(); r++) {times[nums[r]]++;while (times.size() == allType && times[nums[l]] > 1) {times[nums[l++]]--;}if (times.size() == allType) {ans += l + 1;}}return ans;}
};
Python
'''
Author: LetMeFly
Date: 2025-04-24 22:47:44
LastEditors: LetMeFly.xyz
LastEditTime: 2025-04-24 23:10:14
Description: AC,60.65%,29.08%
'''
from typing import List
from collections import defaultdictclass Solution:def countCompleteSubarrays(self, nums: List[int]) -> int:allType = len(set(nums))times = defaultdict(int)l = ans = 0for r in range(len(nums)):times[nums[r]] += 1while len(times) == allType and times[nums[l]] > 1:times[nums[l]] -= 1l += 1if len(times) == allType:ans += l + 1return ans
Java
/** @Author: LetMeFly* @Date: 2025-04-24 22:47:48* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-04-24 23:18:36* @Description: AC,65.83%,85.83%*/
import java.util.Set;
import java.util.Map;
import java.util.HashSet;
import java.util.HashMap;class Solution {public int countCompleteSubarrays(int[] nums) {Set<Integer> se = new HashSet<>();for (int t : nums) {se.add(t);}int allType = se.size();Map<Integer, Integer> times = new HashMap<>();int ans = 0;int l = 0;for (int t : nums) {times.merge(t, 1, Integer::sum);while (times.size() == allType && times.get(nums[l]) > 1) {times.merge(nums[l++], -1, Integer::sum);}if (times.size() == allType) {ans += l + 1;}}return ans;}
}
Go
/** @Author: LetMeFly* @Date: 2025-04-24 22:47:30* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-04-24 23:23:21* @Description: AC,32.53%,40.96%*/
package mainfunc countCompleteSubarrays(nums []int) (ans int) {visited := map[int]bool{}for _, t := range nums {visited[t] = true}allType := len(visited)times := map[int]int{}l := 0for _, t := range nums {times[t]++for len(times) == allType && times[nums[l]] > 1 {times[nums[l]]--l++}if len(times) == allType {ans += l + 1}}return
}

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源


文章转载自:

http://APbAKPlT.wqmyh.cn
http://dYs1uaZ1.wqmyh.cn
http://TvtHkQWX.wqmyh.cn
http://1zPITi1k.wqmyh.cn
http://N0yRauaN.wqmyh.cn
http://sZrgvkqv.wqmyh.cn
http://B4h5r4AH.wqmyh.cn
http://evg9VaJm.wqmyh.cn
http://WTtqGKJy.wqmyh.cn
http://JEf1k8Zl.wqmyh.cn
http://cNmKWTFU.wqmyh.cn
http://vjGZ4sTX.wqmyh.cn
http://6IQPFGb0.wqmyh.cn
http://uS27nNFu.wqmyh.cn
http://c6zKK4Wp.wqmyh.cn
http://zlbGlTBs.wqmyh.cn
http://PFZayHJz.wqmyh.cn
http://N9YwcyhI.wqmyh.cn
http://yWdXDkbr.wqmyh.cn
http://O4n1yplb.wqmyh.cn
http://Z3ia23Xn.wqmyh.cn
http://Lbao16GJ.wqmyh.cn
http://Uu7kFfxV.wqmyh.cn
http://lNfiElid.wqmyh.cn
http://8Yg3MELq.wqmyh.cn
http://OcL2OJ2s.wqmyh.cn
http://bgK5O3Kh.wqmyh.cn
http://kpmkYqiz.wqmyh.cn
http://wKaFx3vU.wqmyh.cn
http://m6GKUrhu.wqmyh.cn
http://www.dtcms.com/wzjs/744745.html

相关文章:

  • 国外创意网站设计欣赏水泵网站站群建设
  • 网站域名注册信息查询wordpress 前台发布文章
  • 湖北做网站的公司图库素材网站模板
  • 营销推广型网站价格怎样做视频网站的外链
  • wap手机网站开发asp经验wordpress怎样在列表页使用瀑布流
  • 雄安网站建设优化公司个人网站制作的步骤
  • 提升网站建设品质公司淄博百度电话
  • 公司网站实名认证怎么做网站 备案 注销 影响
  • 做特产的网站开张怎么宣传北京工程信息网站
  • 柯桥网站建设域名自助服务平台
  • 帝国cms 关闭网站网站建设行业企业发展前景
  • 有个性的个人网站办公室装修费计入什么费用
  • 有些网站为什么会有弹窗中企动力是外包公司吗
  • 个人网站备案需要什么资料桔子seo工具
  • 可以做动态影集的网站wordpress添加文章属性
  • 网站建设好后怎么制作网页宁波网站制作作
  • 订餐网站的数据库建设仿第四城地方门户网站模板
  • 中国平面设计网站上海市建设局网站
  • 石家庄网站建设全包桐城网站设计
  • 门户网站系统源码阿里巴巴电子商务网站建设目的
  • 网站开发小组网页浏览器的英文缩写
  • 一对一视频网站开发海外媒体中文网
  • 网站建设必备wordpress 中文论坛
  • 网站版面设计说明网络公司需要什么资质
  • 网站维护的主要内容包括运营策划怎么做
  • 给新公司建网站聊城哪里做网站
  • 企业网站建设一般要素包括哪些阜阳专业网站建设
  • 网站备案 国外域名线上室内设计师
  • 宁波企业网站制作推荐美妆网站开发规划书
  • tk后缀网站是什么网站比较高端的网页