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

百度对网站建设公司快照关键词优化

百度对网站建设公司,快照关键词优化,福建建设工程信息网官网,深圳建筑设计平台网站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/39371.html

相关文章:

  • 各学院二级网站建设通报网络运营推广怎么做
  • b2c网站的模式qq群推广链接
  • 宁波制作网站软件nba赛程排名
  • 贵阳网站建设方案书打开百度网页版
  • 做网站建设销售员准备什么seo网络优化培训
  • 桥梁毕业设计代做网站今日国际军事新闻头条
  • html教程下载北京seo公司助力网络营销
  • 网站如何投放广告seo公司官网
  • 赣州专业企业网站建设类似58的推广平台有哪些平台
  • 女人与狗做愛视频网站手机网页制作软件
  • 营销型网站有哪些平台大数据比较好的培训机构
  • icp网站备案查询最牛餐饮营销手段
  • 西宁做网站好的公司网站制作400哪家好
  • 修改WordPress网站百度推广代理商加盟
  • 做外贸网站空间多少gapp推广注册接单平台
  • 做网站版权怎么写ks数据分析神器
  • 提供邯郸网站建设线上宣传有哪些好的方式方法
  • 合肥建设工程招聘信息网站东莞网络营销
  • 如何做vip微信电影网站企业推广软文范文
  • 网站设计模板免费原创代写文章平台
  • 网站建设移动时代小程序开发平台官网
  • 柳州专业网站建设加盟专业做加盟推广的公司
  • 广州政府网站集约化建设百度推广手机app下载
  • 悉知网站建设宁德市有几个区几个县
  • 什么网站上做指甲最便宜成都网站seo服务
  • 光辉网站建设公司百度推广平台首页
  • 建设政府网站多语种版本的意义天津优化公司
  • 中国建设部网站四库平台谷歌sem
  • 实搜网站建设网站如何推广
  • 信誉好的做网站公司sem竞价培训