3127. 构造相同颜色的正方形(24.8.31)

news2024/11/13 14:55:12

题目

给你一个二维 3x3 的矩阵 grid,每个格子都是一个字符,要么是 'B' ,要么是 'W'。字符 'W' 表示白色,字符 'B' 表示黑色。
你的任务是改变至多一个格子的颜色,使得矩阵中存在一个 2x2 颜色完全相同的正方形。
如果可以得到一个相同颜色的 2x2 正方形,那么返回 true ,否则返回 false

示例 1:在这里插入图片描述

输入: grid=["B","W","B"],["B","W","W"],["B","W","B"]

输出: true

解释: 修改 grid[0][2] 的颜色,可以满足要求。

示例 2:
在这里插入图片描述

输入: grid=["B","W","W"],["W","W","W"],["B","W","B"]

输出: false

解释: 只改变一个格子颜色无法满足要求。

示例 3:
在这里插入图片描述

输入: grid=["B","B","B"],["W","W","W"],["B","W","B"]

输出: true

解释: grid 已经包含一个 2x2 颜色相同的正方形了。

解题思路

对于 3*3 的格子而言,要想得到 2*2 的格子只需要确定其左上角的点即可知道其余点的位置
假设其左上角点的坐标为(i , j),则其余点为:(i+1 , j),(i+1 , j+1),(i , j+1)
对于一个 2*2 的格子而言,要想满足情况则要求只存在一黑或者一白的状况(假设统计的是白,则白色个数为134,即不为2

代码

class Solution {
public: 
    bool canMakeSquare(vector<vector<char>>& grid) {
        auto
         check=[&](int i,int j){
            int ans=0;
            if(grid[i][j]=='W') ans++;
            if(grid[i+1][j]=='W') ans++;
            if(grid[i+1][j+1]=='W') ans++;
            if(grid[i][j+1]=='W') ans++;
            return ans!=2;
        };
        return check(0,0)||check(0,1)||check(1,0)||check(1,1);
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2094733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

这位沉默寡言忠厚老实的商人遇到了哪位神奇女子搭救?

这位沉默寡言忠厚老实的商人遇到了哪位神奇女子搭救&#xff1f; 接下来&#xff0c;我将为你讲述一个关于侠女的故事&#xff0c;她救助了一个落难之人&#xff0c;并发表了许多关于剑侠的独特见解&#xff0c;这些都是前所未有的&#xff0c;简直精彩绝伦。有诗为证&#xff…

APP、3D动画效果统计图、WEB页面自定义、电话短信通知、告警等级自动升级、告警短视频、人工巡查等功能介绍的智慧矿山多模态智能分析预警平台

智慧矿山多模态预警平台是一个集成了多种实用功能和先进技术的综合管理系统&#xff0c;目标是提高矿山的安全性和管理效率。下面介绍多模态智能分析预警平台的特色功能&#xff1a; 智慧矿山多模态首页 首先看看智慧矿山多模态首页 智慧矿山多模态首页包含了很多内容&#x…

MySQL查询全解

接下来我们就要进入重中之重-----MySQL查询的学习中了.激动激动&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 1 聚合查询 常见的统计总数、计算平局值等操作&#xff0c;可以使用聚合函数来实现&#xff0c;常见的聚合函数有&#xff1a; COUN…

打字侠又发布更新啦,新增小学生课文打字

历经一个月的时间&#xff0c;打字侠又发布了新的功能需求啦&#x1f389;&#x1f389;&#x1f389; 新功能1&#xff1a;提供面向小学生的课文打字练习 具体包括&#xff1a;从小学二年级到小学六年级的中文和英文词汇&#xff0c;总共约2000个中文词组和1600个英文单词。这…

不容错过!最简单的Cursor无限注册攻略!

文章目录 前言具体用法下载程序登陆授权查看支持的模型 如何使用引用 前言 Cursor 是一个编程软件,就像Vscode一样,可以让你轻松地编写、调试和运行代码。不一样的是它内置了8个热门AI模型,什么GPT4、Claude3最新模型,都能免费试用14天,我们只需要任意邮箱注册账号,然后下载程序…

多目标应用:基于多目标雾凇算法(MORIME)的移动机器人路径规划研究(提供MATLAB代码)

一、机器人路径规划介绍 移动机器人&#xff08;Mobile robot&#xff0c;MR&#xff09;的路径规划是 移动机器人研究的重要分支之&#xff0c;是对其进行控制的基础。根据环境信息的已知程度不同&#xff0c;路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或…

Leetcode3243. 新增道路查询后的最短距离 I

Every day a Leetcode 题目来源&#xff1a;3243. 新增道路查询后的最短距离 I 解法1&#xff1a;广度优先搜索 暴力。 每次加边后重新跑一遍 BFS&#xff0c;求出从 0 到 n−1 的最短路。 代码&#xff1a; /** lc appleetcode.cn id3243 langcpp** [3243] 新增道路查询…

一款免费开源功能强大的截图工具

Ksnip是一款功能强大的跨平台开源截图工具&#xff0c;基于Qt开发&#xff0c;支持Linux、Windows和macOS操作系统。Ksnip的主要特点包括多种截图模式和丰富的标注功能。 核心功能 截图模式&#xff1a;自定义矩形区域截图全屏截图当前显示器截图活动窗口截图鼠标下的窗口截图…

Eureka原理大起底:从菜鸟到高手,轻松玩转服务注册与发现的艺术!Eureka不只是个名字,它是微服务世界的‘万能钥匙’,解锁无限可能!

第一章 引言 Eureka原理&#xff0c;作为服务发现领域的一个重要理论&#xff0c;对于构建高可用的分布式系统具有指导意义。随着微服务架构的兴起&#xff0c;服务之间的发现和通信变得尤为关键&#xff0c;Eureka原理为解决这一问题提供了有效的方案。本文旨在深入探讨Eurek…

【精选】基于Hadoop的用户网站浏览分析的设计与实现(全网最新定制,独一无二)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

联盟 | ITNIO TECH颂量 X PartnerShare,助力跨境企业高效出海

*本文章转载自ITNIO TECH颂量 在全球化浪潮中&#xff0c;高效是出海企业在全球市场竞争中获胜的重要秘诀之一。因此&#xff0c;跨境企业除了需要单一的技术或服务&#xff0c;还需要能够整合多种资源、提供一站式解决方案的合作伙伴。ITNIO TECH颂量宣布与SaaS推广分销联盟系…

前端面试题-手撕代码题

1. 实现 Promise.all&#xff0c;或者 实现 Promise.allSettled &#xff08;1&#xff09;promise.all: 传入一个promise数组&#xff0c;其中所有promise都变为成功状态&#xff0c;返回一个数组&#xff0c;数组内是各个promise的返回&#xff1b;若任意传入的promise变为…

16:螺丝孔和MARK点布局

正版mark布局 ①正面3个。背面3个 ②离板边5mm 螺丝孔 板边

Mako 试玩|编译速度6到飞起!

嗨&#xff01;我是小谷&#xff0c;大家好久不见&#xff5e; 今天想和大家分享的技术是 Mako , 一款编译构建速度比 webpack 快 10 倍&#xff5e;100 倍的前端构建工具。 网上有传言将 Mako 比作前端脚手架里的 鲨鱼心脏 &#xff0c;有了它&#xff0c;前端工程师工作的幸…

重塑未来:碳捕集与存储(CCS)的革命性突破与可持续发展路径

随着全球气候变化的加剧&#xff0c;减少二氧化碳&#xff08;CO₂&#xff09;排放已成为应对气候变化的关键任务之一。碳捕集与存储&#xff08;CCS&#xff09;技术因其能够直接从源头捕捉CO₂并将其安全存储&#xff0c;避免其进入大气层&#xff0c;而受到广泛关注。CCS被…

QT做一个USB HID设备识别软件

1.下载 HidApi库&#xff1a;GitHub - yigityuce/HidApi: Human Interface Device Api (HidApi) with C 2.pro文件添加 DEFINES - UNICODE LIBS -lsetupapi 3.建立三个对象 HidApi hidApi;HidDevice hidDev;//HID设备HidDeviceList devList;//HID设备列表 4.对 HID 设备进…

大连网站建设手机网页页面设计

在现代社会&#xff0c;随着智能手机的普及&#xff0c;越来越多的用户选择通过手机访问网站&#xff0c;这使得移动端网页设计的重要性日益凸显。大连作为一个经济和文化中心&#xff0c;网站建设行业也在不断发展。针对大连的网站建设&#xff0c;手机网页页面设计需要特别注…

在街子古镇游的台湾自媒体人

刚刚看到《网易首页 > 网易号》于昨&#xff08;8月31日逾23时&#xff09;天深夜发布《崇州看点》的新闻报道《台湾自媒体人天府游记&#xff0c;被崇州的这个地方深深吸引……》&#xff0c;虽觉得新鲜但并不感到惊奇。因为在去年12月5日&#xff0c;《人民日报海外版》和…

CAS单点登录说明文档

CAS单点登录说明文档 目录 1. 下载CAS 2. 下载xmlsectool 3. 安装xmlsectool 4. 打包CAS 5. 连接服务器 6. 安装Tomcat服务器 7. 创建CAS程序 8. 修改CAS界面 9. 修改CAS服务端口 10. 修改CAS服务名称 11. 修改CAS日志路径 12. 创建数据库 13. 启动CA…

PD快充协议

表格中电压电流档位的电流都是在该电压下输出的最大电流。在充电的过程当中&#xff0c;充电器输出的电流会根据充电设备的需求进行动态调整&#xff0c;不是说握手了20V 5A档位充电器输出的电流就一直都是5A。 这个屏幕显示了几种常见的快充协议及其支持的电压、电流和功率。这…