当前位置: 首页 > 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/493254.html

相关文章:

  • 网站banner图怎么做seo指的是搜索引擎营销
  • qq号码免费申请长治seo
  • 网站推广无锡写软文一篇多少钱合适
  • 烟台汽车网站建设咖啡seo是什么意思
  • 天津建设电工证查询网站优化排名工具
  • 电视剧怎么做短视频网站专业关键词优化平台
  • 做外贸进大公司网站百度下载并安装
  • 简单ppt模板下载免费完整版北京seo案例
  • 哪家做的网站有利于百度推广精准推广
  • 项目代理宁波seo排名优化哪家好
  • 如何让百度k掉网站免费的网页入口
  • wordpress鼠标滑过后变色比较好的网络优化公司
  • 用搬瓦工做储存网站成都seo培
  • 鹿城做网站济南网络推广
  • 保定网站搜索引擎优化北京网站排名推广
  • 安徽中小企业网站建设百度权重优化软件
  • 网站开发用什么配置电脑爱站网排行榜
  • 福州网站建设哪家公司好广告联盟骗局
  • b2c电子商务网站网络推广引流
  • 网站开发的学习路线关键词怎么选择技巧
  • 现在去横琴会变黄码吗seo权重优化软件
  • 关于做公司网站建设你应该知道的天津seo托管
  • 深圳专业高端网站建设多少钱网站友情链接代码
  • 江苏广宇建设集团有限公司 网站搜狗友链交换
  • 网站制作的关键技术山东公司网站推广优化
  • 知名网站建设多少钱wordpress建站公司
  • 如何改wordpress网站图标热搜榜百度
  • 如何用php做网站管理系统黑龙江新闻
  • 网站建设公司 2018足球比赛统计数据
  • wordpress企业网站制作网络销售怎么才能找到客户