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

服装设计自学关键词优化案例

服装设计自学,关键词优化案例,如何创建一家公司,wordpress 附件上传插件下载1.每种字符至少取 K 个 题目 解析 要求取两边的元素&#xff0c;且三种元素数量不能小于 K&#xff1b;反向思维转化为&#xff1a;先计算每个元素个数到 cnt&#xff0c;构建窗口&#xff0c;依次消减 cnt&#xff0c;若新进队元素 x 使得 cnt[x] < K&#xff0c;则移动窗…

1.每种字符至少取 K 个

题目

解析

  • 要求取两边的元素,且三种元素数量不能小于 K;
  • 反向思维转化为:先计算每个元素个数到 cnt,构建窗口,依次消减 cnt,若新进队元素 x 使得 cnt[x] < K,则移动窗口;
  • 注意点:若本身就有元素总数小于 K,直接返回 -1;

代码

class Solution {
public:int takeCharacters(string s, int k) {// 时间复杂度:O(n)// 空间复杂度:O(1)int n = s.size();int ans = 0;unordered_map<char,int> cnt;for(char c : s) cnt[c] ++;// 如果任何字符的数量小于 k,直接返回 -1if (cnt['a'] < k || cnt['b'] < k || cnt['c'] < k) {return -1;}int l = 0;for(int r = 0;r < n;r ++) {cnt[s[r]] --;while(cnt[s[r]] < k){cnt[s[l]] ++;l ++;} ans = max(ans,r - l + 1);}return n - ans;}
};

2.数组的最大美丽值

题目

解析

  • 由于答案记录最终数组中最多相等的数,所以与数组顺序无关,直接排序;
  • 将每个数字 x 想象成一个数值范围,例如 (x - k, x + k),(y - k, y + k);
  • 若要两个数字可以转换,则需要满足 x + k >= y - k,即 y - x <= 2 * k;
  • 遍历数组,若两头数字不满足条件转换,则令 L++;满足则更新答案;

代码

class Solution {
public:int maximumBeauty(vector<int>& nums, int k) {// 时间复杂度:O(nlogn)// 空间复杂度:O(1)int n = nums.size();int ans = 0;sort(nums.begin(),nums.end());// 排序不影响结果int l = 0;for(int r = 0;r < n;r ++){// 若右边界元素和左边界元素取值范围无交集,则移动窗口while(nums[r] - nums[l] > 2 * k){l ++;}ans = max(ans,r - l + 1);}return ans;}
};

3.最高频元素的频数

题目

解析

  • 题目要求最高频元素的频数,与数组顺序无关,直接排序;
  • 核心思想:计算窗口每个元素与右边界元素的距离和
  • 一开始我的思路是加上每两个元素之间的差值,使其小于 k,但其实不是这样算;
  • 计算公式为:(nums[r] - nums[r - 1]) * (r - l)
  • 当距离和超过 K 时,就要移动窗口,没超过就更新答案最大值;

公式推导:

画出来的面积就是窗口每个元素与右边界元素的距离和nums[r] - nums[r - 1] 是矩形高,r - l 是矩形宽;

代码

class Solution {
public:int maxFrequency(vector<int>& nums, int k) {// 时间复杂度:O(nlogn)// 空间复杂度:O(1)int n = nums.size();int ans = 1;long long sum = 0;sort(nums.begin(),nums.end());int l = 0;for(int r = 1;r < n;r ++){// 计算窗口内元素到窗口右边界元素距离总和sum += (long long)(nums[r] - nums[r - 1]) * (r - l);while(sum > k) {// 减去窗口左边界元素到右边界元素距离sum -= nums[r] - nums[l];l ++;}ans = max(ans,r - l + 1);}return ans;}
};
http://www.dtcms.com/wzjs/522583.html

相关文章:

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