当前位置: 首页> 教育> 培训 > 个人网站设计论文道客巴巴_校园网络设计报告_营销型网站建设_怎么优化一个网站关键词

个人网站设计论文道客巴巴_校园网络设计报告_营销型网站建设_怎么优化一个网站关键词

时间:2025/7/12 2:43:19来源:https://blog.csdn.net/weixin_47113960/article/details/146069952 浏览次数:0次
个人网站设计论文道客巴巴_校园网络设计报告_营销型网站建设_怎么优化一个网站关键词

hot100_239.滑动窗口最大值

给你一个整数数组 nums,有一个大小为 k

的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。

返回 滑动窗口中的最大值

示例 1:

输入:nums = [1,3,-1,-3,5,3,6,7], k = 3
输出:[3,3,5,5,6,7]
解释:
滑动窗口的位置                最大值
---------------               -----
[1  3  -1] -3  5  3  6  7       31 [3  -1  -3] 5  3  6  7       31  3 [-1  -3  5] 3  6  7       51  3  -1 [-3  5  3] 6  7       51  3  -1  -3 [5  3  6] 7       61  3  -1  -3  5 [3  6  7]      7

示例 2:

输入:nums = [1], k = 1
输出:[1]

提示:

  • 1 <= nums.length <= 105
    
  • -104 <= nums[i] <= 104
    
  • 1 <= k <= nums.length

#include<iostream>
#include<vector>
#include<deque>
using namespace std;class Solution{public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {vector<int> result;		deque<int> maxqueue;	int len = 0;for(int i = 0; i < nums.size(); i++){//将已经退出滑动窗口的元素出队 while(len > 0 && maxqueue.front() < i-k+1){maxqueue.pop_front();len--;}//维护递减队列 while(len > 0 && nums[maxqueue.back()]<= nums[i]){maxqueue.pop_back();len--;}maxqueue.push_back(i);len++;if(i >= k - 1){result.push_back(nums[maxqueue.front()]);}			}return result;}
};int main(){
//	vector<int> nums = {1};vector<int> nums = {1,3,1,2,0,5};int k = 3;Solution A;vector<int> result = A.maxSlidingWindow(nums, k);for(int i = 0; i < result.size(); i++){cout << result[i] << " ";}cout<<endl;return 0;
}

hot100_560.和为k的子数组

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数

子数组是数组中元素的连续非空序列。

示例 1:

输入:nums = [1,1,1], k = 2
输出:2

示例 2:

输入:nums = [1,2,3], k = 3
输出:2

提示:

  • 1 <= nums.length <= 2 * 104
    
  • -1000 <= nums[i] <= 1000
    
  • `-107 <= k <= 107`
    
#include<iostream>
#include<vector>
#include<unordered_map>
using namespace std;
class Solution{public:int sunarraySum(vector<int>& nums, int k){unordered_map<int, int> hashMap;hashMap[0] = 1;// 记录满足条件的子数组个数int count = 0;// 初始化前缀和int prefixSum = 0;for (int num : nums) {// 计算当前的前缀和prefixSum += num;// 检查是否存在 prefix_sum - k 的前缀和if (hashMap.find(prefixSum - k) != hashMap.end()) {// 加上满足条件的前缀和个数count += hashMap[prefixSum - k];}// 更新哈希表中的当前前缀和出现次数hashMap[prefixSum]++;}return count;}
};int main(){vector<int> nums = {1, 2, 3};int k = 3;Solution A;cout << A.sunarraySum(nums,k) << endl;return 0;
}

hot100_76.最小覆盖子串

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""

注意:

  • 对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。
  • 如果s中存在这样的子串,我们保证它是唯一的答案。

示例 1:

输入:s = "ADOBECODEBANC", t = "ABC"
输出:"BANC"
解释:最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。

示例 2:

输入:s = "a", t = "a"
输出:"a"
解释:整个字符串 s 是最小覆盖子串。

示例 3:

输入: s = "a", t = "aa"
输出: ""
解释: t 中两个字符 'a' 均应包含在 s 的子串中,
因此没有符合条件的子字符串,返回空字符串。

提示:

  • m == s.length
    
  • n == t.length
    
  • 1 <= m, n <= 10^5
    
  • s和t由英文字母组成
    
    class Solution{public:string minWindow(string s, string t) {bool is_t[52] = {false};bool is_minstr = false;int	count[52] = {0};queue<int> Q;int k = t.length();int minl=0,minr=10^5+1;int l = 0;for(char a:t){int index = findIndex(a);is_t[index] = true;count[index]++;}for(int i = 0; i < s.length(); i++){char a = s[i];int index = findIndex(a);if(Q.empty()&&!is_t[index]) {l++;continue;}else if(is_t[index] && count[index]==0){Q.push(index);while(Q.front()!=index)	{char tempIndex = Q.front();count[tempIndex]++; if(is_t[tempIndex])	k++;Q.pop();l++;}Q.pop();l++;while(!is_t[Q.front()])	{Q.pop();l++;}}else if(is_t[index] && count[index] > 0){Q.push(index);count[index]--;k--;}else{Q.push(index);}if(k == 0 && i - l < minr - minl){minr = i;minl = l;is_minstr = true;}
    //			cout << "k = " <<k <<endl;
    //			cout<< "队首元素下标:" << Q.front()<<endl;}
    //		cout << minl << " " << minr<<endl;if(!is_minstr)	return "";else{string minstr = "";for(int i = minl; i <= minr; i++){minstr = minstr + s[i];}return minstr;}} int findIndex(char a){int index;if(a<='Z')	index = a-'A';else	index = a-'a'+26;return index;}
    }; 
    
关键字:个人网站设计论文道客巴巴_校园网络设计报告_营销型网站建设_怎么优化一个网站关键词

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: