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

【C++算法】79.BFS解决FloodFill算法_图像渲染

文章目录

    • 题目链接:
    • 题目描述:
    • 解法
    • C++ 算法代码:


题目链接:

733. 图像渲染


题目描述:

11bd9d16c6313a4a8293c678e6b1927f


解法

BFS一层层剥开。


C++ 算法代码:

class Solution {// 定义坐标对的类型别名,表示(x,y)坐标typedef pair<int, int> PII;// 定义四个方向的偏移量:右、左、下、上int dx[4] = {0, 0, 1, -1};int dy[4] = {1, -1, 0, 0};public:vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int color) {// 记录初始位置的颜色int prev = image[sr][sc];// 如果初始颜色和目标颜色相同,直接返回原图if (prev == color)return image;// 获取图像的行数和列数int m = image.size(), n = image[0].size();// 创建队列用于BFSqueue<PII> q;// 将起始位置加入队列q.push({sr, sc});// 开始BFSwhile (!q.empty()) {// 取出队首元素auto [a, b] = q.front();// 将当前位置的颜色改为目标颜色image[a][b] = color;q.pop();// 遍历四个方向for (int i = 0; i < 4; i++) {// 计算新坐标int x = a + dx[i], y = b + dy[i];// 检查新坐标是否在图像范围内,并且颜色与初始颜色相同if (x >= 0 && x < m && y >= 0 && y < n && image[x][y] == prev) {// 将新坐标加入队列q.push({x, y});}}}// 返回处理后的图像return image;}
};
http://www.dtcms.com/a/303706.html

相关文章:

  • 【C#|C++】C#调用C++导出的dll之非托管的方式
  • 数据结构 排序(1)---插入排序
  • 基于mysql云数据库对比PowerBI vs QuickBI vs FineBI更换数据源的可行性
  • Kafka——Kafka控制器
  • 如何选择工业电脑?
  • 【VOS虚拟操作系统】未来之窗打包工具在前端资源优化中的应用与优势分析——仙盟创梦IDE
  • Spring AI集成Elasticsearch向量检索时filter过滤失效问题排查与解决方案
  • ICT模拟零件测试方法--晶体管测试
  • Linux救援模式之应用篇
  • 算法第29天|动态规划dp2:不同路径、不同路径Ⅱ、整数拆分、不同的二叉搜索树
  • PHP云原生架构:容器化、Kubernetes与Serverless实践
  • 【人工智能】OpenAI的AI代理革命:通向超拟人交互的未来之路
  • idea 服务器Debug端口启动设置
  • WD5018电压12V降5V,2A电流输出,应用于车载充电器车载设备供电
  • AI-调查研究-41-多模态大模型量化 Qwen2.5-VL:技术架构、能力评估与应用场景详解
  • TOPSIS(Technique for Order Preference by Similarity to Ideal Solution )简介与简单示例
  • Android Slices:让应用功能在系统级交互中触手可及
  • 从0到1理解大语言模型:读《大语言模型:从理论到实践(第2版)》笔记
  • Botanix 主网上线,开启 BTC 可编程新时代!
  • 【ASP.NET Core】探讨注入EF Core的DbContext在HTTP请求中的生命周期
  • Ruby 发送邮件 - SMTP
  • 广泛分布于内侧内嗅皮层全层的速度细胞(speed cells)对NLP中的深层语义分析的积极影响和启示
  • Angular面试题目和答案大全
  • SketchUp纹理贴图插件Architextures安装使用图文教程
  • 深入浅出设计模式——创建型模式之建造者模式
  • vue让elementUI和elementPlus标签内属性支持rem单位
  • nginx 413 Request Entity Too Large
  • uniapp 微信小程序 列表点击分享 不同的信息
  • 重塑浏览器!微软在Edge加入AI Agent,自动化搜索、预测、整合
  • 基于JavaWeb的兼职发布平台的设计与实现