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

可做产品预售的网站安卓aso优化工具

可做产品预售的网站,安卓aso优化工具,新手如何搭建自己的网站,建网站要多少钱用自己的服务器6. 1695.删除子数组的最大得分(中等) 1695. 删除子数组的最大得分 - 力扣(LeetCode) 思想 1.给你一个正整数数组 nums ,请你从中删除一个含有 若干不同元素 的子数组**。**删除子数组的 得分 就是子数组各元素之 和 。 返回 只删除一个 子…
6. 1695.删除子数组的最大得分(中等)

1695. 删除子数组的最大得分 - 力扣(LeetCode)

思想

1.给你一个正整数数组 nums ,请你从中删除一个含有 若干不同元素 的子数组**。**删除子数组的 得分 就是子数组各元素之  。
返回 只删除一个 子数组可获得的 最大得分 
2.题意转换:窗口内不含相同元素,哈希表维护即可

代码

c++:

class Solution {
public:int maximumUniqueSubarray(vector<int>& nums) {int n = nums.size();int res = 0;map<int, int> cnt;int left = 0;int sum = 0;for (int right = 0; right < n; ++right) {sum += nums[right];++cnt[nums[right]];while (cnt[nums[right]] > 1) {--cnt[nums[left]];sum -= nums[left];++left;}res = max(res, sum);}return res;}
};
7. 2958.最多K个重复元素的最长子数组(中等)

2958. 最多 K 个重复元素的最长子数组 - 力扣(LeetCode)

思想

1.如果一个数组中所有元素的频率都 小于等于 k ,那么我们称这个数组是  数组。
请你返回 nums 中 最长好 子数组的长度。
2.题意转换:所有元素的频率都 小于等于 k即为窗口条件

代码

c++:

class Solution {
public:int maxSubarrayLength(vector<int>& nums, int k) {int n = nums.size();int res = 0;map<int, int> cnt;int left = 0;for (int right = 0; right < n; ++right) {++cnt[nums[right]];while (cnt[nums[right]] > k) {--cnt[nums[left]];++left;}res = max(res, right - left + 1);}return res;}
};
8. 2024.考试的最大困扰度(中等,可一起考虑优化)

2024. 考试的最大困扰度 - 力扣(LeetCode)

思想

1.方法是 最大化 有 连续相同 结果的题数,请你返回在不超过 k 次操作的情况下,最大 连续 'T' 或者 'F' 的数目。
2.我的思想,F和T分开来求,两个最大值再取最大值
3.学习优化思想:
窗口内有4种情况:

  • T和F数量都不超过k,满足要求
  • T数量超过k,F数量不超过k,把F变成T,满足要求
  • F数量超过k,T数量不超过k,把T变成F,满足要求
  • T和F数量都超过k,不满足要求,更新窗口左端点
代码

c++:

class Solution {
public:int solve(string answerKey, int k,char c){int n=answerKey.size();int left=0;int sum=0; int res=0;for(int right=0;right<n;++right){if(answerKey[right]==c)   ++sum;while(sum>k){if(answerKey[left]==c)    --sum;++left;}res=max(res,right-left+1);}return res;}int maxConsecutiveAnswers(string answerKey, int k) {// F->Tint resT=solve(answerKey,k,'F');// T->Fint resF=solve(answerKey,k,'T');int res=max(resT,resF);return res;}
};

优化:

class Solution {
public:int maxConsecutiveAnswers(string answerKey, int k) {int n = answerKey.size();int left = 0;int sumT = 0, sumF = 0;int res = 0;for (int right = 0; right < n; ++right) {if (answerKey[right] == 'T')++sumT;else++sumF;while (sumT > k && sumF > k) {if (answerKey[left] == 'T')--sumT;else--sumF;++left;}res = max(res, right - left + 1);}return res;}
};
9. 1004.最大连续1的个数III(中等)

1004. 最大连续1的个数 III - 力扣(LeetCode)

思想

1.给定一个二进制数组 nums 和一个整数 k,假设最多可以翻转 k 个 0 ,则返回执行操作后 数组中连续 1 的最大个数 。
2.题目理解:0的数量不超过k

代码

c++:

class Solution {
public:int longestOnes(vector<int>& nums, int k) {int n = nums.size();int res = 0;int sum0 = 0;int left = 0;for (int right = 0; right < n; ++right) {if (nums[right] == 0)++sum0;while (sum0 > k) {if (nums[left] == 0)--sum0;++left;}res = max(res, right - left + 1);}return res;}
};
10. 1658.将x减到0的最小操作数(中等,逆向思维)

1658. 将 x 减到 0 的最小操作数 - 力扣(LeetCode)

思想

1.给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。如果可以将 x 恰好 减到 0 ,返回 最小操作数 ;否则,返回 -1 。
2.逆向思维转换:求和为totalSum-x的最长窗口大小
3.逆向思维转换后k=totalSum-x,要判断k为负的特殊情况
4.res初始值设置为INT_MIN,先判断-1情况

代码

c++:

class Solution {
public:int minOperations(vector<int>& nums, int x) {int n = nums.size();int res = INT_MIN;long long totalSum = 0, sum = 0;for (const int val : nums)totalSum += (long long)val;long long k = totalSum - x;if (k < 0)return -1;int left = 0;for (int right = 0; right < n; ++right) {sum += (long long)nums[right];while (sum > k) {sum -= (long long)nums[left];++left;}if (sum == k) {res = max(res, right - left + 1);}}if (res == INT_MIN)return -1;return n - res;}
};
http://www.dtcms.com/wzjs/522588.html

相关文章:

  • 做黑网站网站推广方式
  • 网站建设是哪个专业seo关键词排名系统
  • postgresql做网站用什么环境怎么创建网页链接
  • 泰州网站建设与网页制作公关公司排行榜
  • 服装设计自学关键词优化案例
  • 电商网站系统建设考试一件代发48个货源网站
  • 做机加工的网站百度网站如何优化排名
  • html中文网站作业做一个网站要多少钱
  • asp net做网站视频seo指的是搜索引擎
  • 如何 做网站挣钱网站入口百度
  • 揭阳cms建站电话销售如何快速吸引客户
  • 洛阳做多屏合一网站软文网站推广法
  • 做网站 用 云主机石家庄新闻最新消息
  • 网易企业邮箱电话哈尔滨seo关键词排名
  • 龙岩网站推广网站监测
  • 中国建设银行网站江苏分行营销网站建设多少钱
  • 定制杯子网站优化推广是什么
  • 泉州外贸网站建设都有哪些公司新手怎么做电商运营
  • 如何登录建设部网站电脑版东莞网站制作推广公司
  • 手机微官网和pc端网站怎么做网络营销网站
  • 西安网站制作流程中国网站排名
  • o2o网站做推广公司小红书seo排名
  • 传奇背景图网站怎么做沈阳seo顾问
  • 网站服务器到期为什么要网站备案石家庄seo结算
  • 深圳哪家做网站比较好互联网域名注册查询
  • 现在流行什么做网站优秀的营销策划案例
  • 做网站的windowlcd互联网平台公司有哪些
  • 视频播放网站开发视频推广一条多少钱
  • 高端的深圳网站页面设计seo岗位
  • 深圳网站定制深圳网站建设公司网络营销的目的和意义