每日OJ题_牛客_井字棋

目录

牛客_井字棋

解析代码


牛客_井字棋

井字棋__牛客网


解析代码

class Board {
  public:
    bool checkWon(vector<vector<int> > board) {
        // 当前玩家是否胜出!!!不是有玩家胜出
        int row = board.size(), col = board[0].size();
        for (int i = 0, cnt = 0; i < row; ++i) { // 每行
            for (int j = 0; j < col; ++j)
                cnt += board[i][j];
            // if (cnt == col || cnt == -col)
            // 当前玩家是否胜出!!!不是有玩家胜出
            if (cnt == col)
                return true;
        }
        for (int i = 0, cnt = 0; i < col; ++i) { // 每列
            for (int j = 0; j < row; ++j)
                cnt += board[i][j];
            // if (cnt == row || cnt == -row)
            // 当前玩家是否胜出!!!不是有玩家胜出
            if (cnt == row)
                return true;
        }
        int cnt = 0;
        for (int i = 0; i < row; ++i) {
            cnt += board[i][i];
        }
        // if (cnt == row || cnt == -row)
        // 当前玩家是否胜出!!!不是有玩家胜出
        if (cnt == row)
            return true;
        cnt = 0;
        for (int i = 0; i < row; ++i) {
            cnt += board[i][row - 1 - i];
        }
        // if (cnt == row || cnt == -row)
        // 当前玩家是否胜出!!!不是有玩家胜出
        if (cnt == row)
            return true;
        return false;
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue 常用的 UI 组件库之一:Vuetify组件库

Vuetify是一个基于Vue.js 的Material Design组件库&#xff0c;它提供了一套完整的、预构建的、可自定义的、响应式的组件&#xff0c;以便开发者可以快速构建美观且功能强大的Web应用程序。Vuetify遵循Material Design设计指南&#xff0c;提供了一系列易于使用的组件&#xf…

【STM32】HAL库 CubeMX教程---基本定时器 定时

目录 一、基本定时器的作用 二、常用型号的TIM时钟频率 三、CubeMX配置 四、编写执行代码 实验目标&#xff1a; 通过CUbeMXHAL&#xff0c;配置TIM6&#xff0c;1s中断一次&#xff0c;闪烁LED。 一、基本定时器的作用 基本定时器&#xff0c;主要用于实现定时和计数功能…

Leetcode : 147. 对链表进行插入排序

给定单个链表的头 head &#xff0c;使用 插入排序 对链表进行排序&#xff0c;并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的&#xff0c;每次只移动一个元素&#xff0c;直到所有元素可以形成一个有序的输出列表。 每次迭代中&#xff0c;插入排序只从输…

【Python学习篇】Python基础入门学习——你好Python(一)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;Vir2021GKBS &#x1f43c;本文由…

全网最细,web自动化测试实战场景(滚动元素的滚动操作)直接上干g货......

前言 使用 selenium 进行 web 自动化测试对我们来说是个常规操作。用了很多次后&#xff0c;我们经常会抱怨 selenium 封装的操作实在是太少了。 比如说 selenium 没有对页面的滚动提供丰富 API , 有的只有一个孤零零的 location_once_scrolled_into_view 方法&#xff0c;把…

融资项目——OpenFeign的降级与熔断

当一个微服务调用其他微服务时&#xff0c;如果被调用的微服务因各种原因无法在规定时间内提供服务&#xff0c;则可以直接使用本地的服务作为备选&#xff0c;即进行降级熔断。 如之前所提到的微服务为例&#xff1a; 如果希望实现降级熔断&#xff0c;可以在本地创建一个实现…

Mac版2024 CleanMyMac X 4.14.6 核心功能详解以及永久下载和激活入口

CleanMyMac 是 macOS 上久负盛名的系统清理工具&#xff0c;2018 年&#xff0c;里程碑式版本 CleanMyMac X 正式发布。不仅仅是命名上的变化&#xff0c;焕然一新的 UI、流畅的动画也让它显得更加精致。新增的系统优化、软件更新等功能&#xff0c;使得在日常使用 macOS 时有了…

【Linux】Linux原生异步IO(一):libaio-介绍

1、IO模型 1.1 简述 相信大家在搜索的时候,都会看到下面这张图,IO的使用场景:同步、异步、阻塞、非阻塞,可以组合成四种情况: 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可…

Cesium-记录差值线

/*** param {Object} startTime Date格式的开始时间* param {Object} endTime Date格式的结束时间* param {Object} coordinates [x1,y1,x2,y2,x3,y3.......]* param {Object} entityCollection 实体收集器*/ async function interpolationLine(startTime,endTime,coordinat…

工厂 模式

一、工厂模式是什么&#xff1f; 是C多态的一种很好的具体表现。通过继承&#xff0c;重写抽象父类的虚函数&#xff0c;并在main函数中通过基类指针指向子类对象的一种编码风格 工厂模式分为三种&#xff08;简单工厂模式&#xff0c;工厂方法模式&#xff0c;抽象工厂模式&…

晶圆测量新利器:光谱共焦传感器优势解析

光谱共焦位移传感器和激光三角位移传感器在表面测量领域均占据重要位置&#xff0c;它们各自在测量物体厚度方面表现出独特的优势。尽管两者具备测量功能&#xff0c;但根据应用环境和所需精度&#xff0c;它们的适应性呈现出显著差异。 具体而言&#xff0c;光谱共焦位移传感器…

PSCA电源控制集成之分布式PPU

PPU的放置是一个重要考虑因素。最简单的方法是将所有的PPU都放置在SCP所在的始终开启的域中。将所有的PPU放置在一个层次结构中&#xff0c;集成问题&#xff0c;如地址映射、互连、时钟和复位等问题都比较简单。然而&#xff0c;有几个原因可能导致这不是最佳选择。 首先&…

Qt---项目代码解析

文章目录 一、main.cpp代码解析二、widget.h代码解析三、widget.cpp代码解析(一) form file 四、.pro Qt项目的工程文件 一、main.cpp代码解析 main函数的形参就是命令行参数。qt是CDefinitely图形界面化编程&#xff0c;要想编写一个qt的图形界面程序&#xff0c;一定要有QAp…

【Spring底层原理高级进阶】Spring Batch清洗和转换数据,一键处理繁杂数据!Spring Batch是如何实现IO流优化的?本文详解!

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &a…

蚂蚁感冒 刷题笔记

/* 解题思路 首先根据题意可知 1.蚂蚁速度均为1 即同向蚂蚁永远不可能追上 我们需要求最后感冒蚂蚁的数量 因为蚂蚁碰头将会掉头 效果和俩蚂蚁互相穿过继续走是一样的 所以我们将俩蚂蚁碰头视作穿过 2. 如果俩蚂蚁相向而行 则俩蚂蚁必定碰头 首先 我们获得第一个感冒蚂蚁的…

Vue+OpenLayers7入门到实战:OpenLayers7如何使用gifler库来实现gif动态图图片叠加到地图上

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 OpenLayers7本身不支持gif图片作为图标要素显示到地图上,所以需要通过其他办法来实现支持gif图片。 本章介绍如何使用OpenLayers7在地图上使用gifler库先生成canvas画板,然后通过canvas画板的重绘事件来重新渲染地图…

URL输入到页面渲染过程详解

当我们在浏览器中输入一个URL并按下回车键时&#xff0c;浏览器会执行一系列步骤来解析URL、发送请求、接收响应&#xff0c;并最终渲染页面。这个过程涉及到多个阶段&#xff0c;包括DNS解析、TCP握手、发送HTTP请求、服务器处理请求、返回HTTP响应、浏览器解析和渲染等。下面…

19-Java中介者模式 ( Mediator Pattern )

Java中介者模式 摘要实现范例 中介者模式&#xff08;Mediator Pattern&#xff09;提供了一个中介类&#xff0c;该类通常处理不同类之间的通信&#xff0c;并支持松耦合&#xff0c;使代码易于维护中介者模式是用来降低多个对象和类之间的通信复杂性中介者模式属于行为型模式…

算法刷题Day2 | 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

目录 0 引言1 有序数组列表1.1 我的题解&#xff08;双指针&#xff09;1.2 根据官方解题修改后 2 长度最小的子数组2.1 我的题解2.2 官方滑动窗口&#xff08;双指针&#xff09;题解 3 螺旋矩阵3.1 我的题解 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&…

CXYGZL实现钉钉、飞书和微信全面覆盖!!!

非常欣慰能在这里与大家分享&#xff0c;CXYGZL已圆满实现多端互通的目标&#xff01;&#xff01;&#xff01; 无论您是在手机、电脑还是平板上使用钉钉、企微还是飞书&#xff0c;只需将CXYGZL轻松集成到您的办公软件中&#xff0c;即可实现无缝审批处理各项任务&#xff0c…