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

bfs|红黑树multiset

 

 

lc480

滑动窗口结合有序集合(multiset_红黑树)维护窗口内元素

指针定位中间位置,动态插入新元素、删除窗口外元素并调整中间指针

最终计算每个窗口的中位数并返回

class Solution {
public:
vector<double> medianSlidingWindow(vector<int>& nums, int k) {
vector<double> result;
multiset<int> window(nums.begin(), nums.begin() + k);

auto mid = next(window.begin(), k / 2);
for (int i = k; ; ++i) 
{

//红黑树迭代器取中点
result.push_back((double(*mid) + *prev(mid, 1 - k % 2)) / 2);

if (i == nums.size()) 
return result;

//红黑树维护窗口    
window.insert(nums[i]);
//动态维护mid
if (nums[i] < *mid) --mid;
if (nums[i - k] <= *mid) ++mid;
window.erase(window.lower_bound(nums[i - k]));
}
}
};

 

lc1091

class Solution 
{
typedef pair<int,int> pii;
int dx[8]={-1,-1,-1,0,0,1,1,1};
int dy[8]={-1,0,1,-1,1,-1,0,1};

public:
int shortestPathBinaryMatrix(vector<vector<int>>& grid) 
{
int m=grid.size(),n=grid[0].size();
if(grid[0][0]==1) return -1;
int ret=0;
queue<pii> q;
vector<vector<bool>> vis(m,vector<bool>(n,false));

q.push({0,0});
vis[0][0]=true;
while(q.size())
{
int sz=q.size();
ret++;
while(sz--)
{
auto [a,b]=q.front();
q.pop();
if(a==m-1 && b==n-1)
return ret;
for(int i=0;i<8;i++)
{
int x=a+dx[i],y=b+dy[i];
if(x>=0 && y>=0 && x<m && y<n && !vis[x][y] && grid[x][y]==0)
{
q.push({x,y});
vis[x][y]=true;
}
}
}
}
return -1;
}
};

 

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

相关文章:

  • 伊利集团的网站建设水平评价成都做网站做的好的公司
  • 论文阅读:arxiv 2025 Safety in Large Reasoning Models: A Survey
  • 选择手机网站建设医疗网站织梦
  • 蓝牙体重秤方案:硬件设计需要注意什么
  • 张家港建网站的公司住房和城乡建设部网站
  • 【AIGC】HPS v2:评估人类对文本到图像合成偏好的可靠基准
  • Download from your IP address is not allowed(qt下载教程)
  • 出海东南亚无忧:腾讯云如何凭借本地合作与全球节点,保障游戏和电商业务合规流畅?
  • Jmeter的自动化测试实施方案详解
  • 共享自行车与电动共享自行车使用中建成环境影响的对比研究:基于合肥数据的时空机器学习分析
  • 如何使用Jmeter做接口测试?
  • 网站用哪个软件做企业官网建设费用
  • 重庆网站设计找重庆最佳科技蛋糕网站源码
  • 东莞建设网官方网站小程序怎么赚钱的
  • 石家庄网站开发公司电话佛山新网站建设渠道
  • Golang多goroutine求解1000万和1亿以内的素数
  • 【开题答辩过程】以《基于协同过滤算法的彩妆商城系统的设计与实现》为例,不会开题答辩的可以进来看看
  • 一级a做爰片i免费网站横沥镇仿做网站
  • 怎么做能上谷歌网站优化营商环境心得体会
  • 学习C#调用OpenXml操作word文档的基本用法(4:Style类分析-2)
  • 河北建设厅注册中心网站首页网站头页
  • Vue3教程简介
  • Excel天气查询插件开发指南(★)
  • GO语言-->Gin 框架 HTTP 路由
  • Android EDLA项目导入mainline包后蓝牙签名报错分析解决
  • 保定网站建设找谁建设部四库一平台查询
  • 网站查询信息wordpress清空数据
  • 光伏开发小程序:快速获客,成交项目更迅速
  • 单位建设网站需要的材料wordpress无法开启多站点
  • 免得做网站东莞服装网站建设