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

滑窗|队列

 

 

lc648

双队列模拟_下标入队

问题:RDDR为什么结果是R,不应该一人禁一个然后平局吗

回答:

这是一个循环。第一个R把第一个D禁掉,第二个D再把第二个R禁掉,这样一次之后

实际上还剩下第一个R和第二个D,即RD,因此第二轮第一个R又会被第二个D禁掉

 

class Solution {
public:
string predictPartyVictory(string senate)

{
queue<int> r, d;
int n = senate.size();
for (int i = 0; i < n; ++i) {
if (senate[i] == 'R') r.emplace(i);
else d.emplace(i);
}

        auto act = [&](queue<int>& q1, queue<int>& q2) {
q2.pop();
q1.emplace(q1.front() + n);
q1.pop();
};

        while (!r.empty() && !d.empty()) {
if (r.front() < d.front()) act(r, d);
else act(d, r);
}

        return r.empty() ? "Dire" : "Radiant";
}
};

 

lc1419

模拟_状态转移 思想

计算同时“呱叫”(按“croak”顺序发声)的最少青蛙数量

class Solution {
public:
int minNumberOfFrogs(string croakOfFrogs) {
char PREVIOUS['s']; // 's' 保证 "croak" 中的任意字符都不会越界


const string croak = "croakc";
for (int i = 1; i < croak.length(); i++) {
PREVIOUS[croak[i]] = croak[i - 1];
}

        int cnt['s']{};
for (char ch: croakOfFrogs) {
char pre = PREVIOUS[ch]; // pre 为 ch 在 "croak" 中的上一个字母
if (cnt[pre]) { // 如果有青蛙发出了 pre 的声音
cnt[pre]--; // 复用一只
} else if (ch != 'c') { // 否则青蛙必须从 'c' 开始蛙鸣
return -1; // 不符合要求
}
cnt[ch]++; // 发出了 ch 的声音
}
if (cnt['c'] || cnt['r'] || cnt['o'] || cnt['a']) {
return -1; // 有发出其它声音的青蛙,不符合要求
}
return cnt['k']; // 没人消耗k~
}
};

 

 

lcr8

class Solution {

public:

    int minSubArrayLen(int target, vector<int>& nums) 

    {

        //target = 7, nums = [2,3,1,2,4,3]

        int n=nums.size();

        int l=0,r=0,ret=INT_MAX;

        int sum=0;

        if(target==0)

            return 0;

        while(r<n)

        {

            sum+=nums[r];

            while(sum>=target)

            {

                ret=min(ret,r-l+1);

                sum-=nums[l];

                l++;

            }

            r++;

        }

        return ret==INT_MAX?0:ret;

    }

};

 

http://www.dtcms.com/a/557865.html

相关文章:

  • EtherCAT转EtherNet/IP工业智能网关:保障罗克韦尔 PLC 与欧姆龙 PLC 双向稳定通讯
  • 宽城区网站建设昆山做网站
  • 软考 系统架构设计师系列知识点之杂项集萃(185)
  • 网站 如何备案河北网络推广系统
  • 数据结构-前置概念
  • 技术准备十四:odb
  • 网站程序指的是什么汕头seo网站排名
  • 公司网站建设外包流程图文网站建设费用计入什么科目
  • 天津做胎儿鉴定网站新浪sae wordpress略缩图设置
  • python - day 12
  • 【C++新特性】:谈谈C++20的协程(10000字讲清楚C++协程)
  • 邯郸网站设计建设网站优化开发
  • 【内存管理】深入理解CR3寄存器:进程地址空间切换与虚拟内存管理的核心枢纽
  • 做网站公司平台wordpress点击量
  • 个人网站备案转公司备案临沂企业建站系统模板
  • 康耐视智能相机IS2000与西门子PLC走Profinet 协议通讯设置详细步骤及案例详解
  • 佛山电商网站制作团队开网页多对什么要求高
  • (2)搭建基石:Qt开发环境
  • 县城做信息网站赚不赚钱网页设计随机点名代码
  • LLM+MCP工具调用
  • 建行网站网址是多少沧州地区做网站
  • OSTAR新技术点亮新的爱普生家庭投影机
  • C++进阶:(三)深度解析二叉搜索树原理及实现
  • 寻好子集:用两种思维探究所求可能
  • 【模板】线段树上二分
  • 网站源码怎么写外贸网站建设推广费用
  • 11天考完OCP认证【082+083科目】,已顺利拿证
  • 网站建设方案书格式品牌画册设计公司网址
  • 深入洞察:昇腾 AI 生态的CANN/MindSpore架构
  • 2025年10月文章一览