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

【力扣每日一题】2023.9.13 检查骑士巡视方案

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

题目给我们一个n*n大小的矩阵,矩阵的元素表示骑士已经行动的次数,问我们骑士能不能按照矩阵里元素顺序来巡视整个矩阵。

骑士每次移动的方案有八种,类似于中国象棋里的马走日。

骑士在左右和上下两种方向之中,每次移动都是先移动一种方向两格,再移动另一个方向一格,那么每次移动的点是固定的八个点,因此我们只需要在这八个点中寻找元素等于当前所在格子的元素+1的位置,如果找不到,那么就表示骑士无法按照矩阵中的顺序去巡视。

我们使用递归去寻找每个点,题目有说一开始骑士在左上角,因此我们从左上角开始递归,我们不断按照上诉的过程递归,直到我们把矩阵中所有格子都走一遍了,也就是递归了n*n+1次,那么表示骑士可以按照矩阵的顺序去巡视,我们返回true即可。

代码:

class Solution {
public:bool find(vector<vector<int>>&grid,int n,int i,int j,int index){if(index==n*n) return true;     //走完了整个棋盘if(i<0||j<0||i>=n||j>=n||grid[i][j]!=index) return false;//向八个方向试探if(find(grid,n,i+1,j+2,index+1)) return true;if(find(grid,n,i+1,j-2,index+1)) return true;if(find(grid,n,i+2,j+1,index+1)) return true;if(find(grid,n,i+2,j-1,index+1)) return true;if(find(grid,n,i-2,j+1,index+1)) return true;if(find(grid,n,i-2,j-1,index+1)) return true;if(find(grid,n,i-1,j+2,index+1)) return true;if(find(grid,n,i-1,j-2,index+1)) return true;return false;}bool checkValidGrid(vector<vector<int>>& grid) {return find(grid,grid.size(),0,0,0);}
};

相关文章:

【力扣每日一题】2023.9.13 检查骑士巡视方案

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个n*n大小的矩阵&#xff0c;矩阵的元素表示骑士已经行动的次数&#xff0c;问我们骑士能不能按照矩阵里元素顺序来巡视整个…...

【Vue】关于CSS样式绑定整理

因突发奇想设计一款组件,需要根据属性动态绑定样式,故而整理一些Vue的动态绑定样式方法(传参绑定类似,不做过多叙述),仅供参考.方式一: 直接在元素上绑定具体样式方式二: 定义属性对象,绑定到style,可以在style中使用定义的变量方式二: 通过引入自定义组件引入style数据,直接绑…...

Sql语句大全--更新

今天抽空整理下项目中的Sql语句 项目中用到的Sql语句大全 Update 语句 Update 语句 Update语句update OLASF1.LLB set CBBTHCC 52 WHERE CBPOLNUMC201728534update OLASF1.LLB set CBBTHCC 01 WHERE CBPOLNUMC201728534update OLASF1.LB set CBBTHCC 01 WHERE CBPOLNUMC…...

Java面试八股文宝典:序言

序言&#xff1a; Java作为一门广泛应用于企业级应用开发的编程语言&#xff0c;一直以来都是技术面试中的重要话题。无论您是刚刚踏入编程世界的新手&#xff0c;还是经验丰富的Java开发工程师&#xff0c;都需要通过面试来展示自己的技能和知识。 在面试中&#xff0c;除了…...

【多线程案例】单例模式

单例模式是设计模式的一种&#xff0c;先谈谈什么是设计模式&#xff1f; 大家应该都知道棋谱、剑谱之类的&#xff0c;就是一些“高手”在经历过长期的累计之后&#xff0c;更具经验写出的具有固定套路的处理“方法”&#xff0c;只要按照这个套路来&#xff0c;在对局之中必然…...

阿里云部署SpringBoot项目启动后被杀进程的问题

阿里云部署SpringBoot项目启动后被杀进程的问题 最近部署在公司虚拟主机上的SpringBoot项目频繁被杀&#xff0c;这个虚拟主机是个杂货铺&#xff0c;部署着各种项目&#xff0c;时间跨度还大&#xff0c;不同的人负责&#xff0c;个人自扫门前雪&#xff0c;不管他人瓦上霜&a…...

git仓库推送错误

错误背景 从github克隆仓库后&#xff0c;想推送到gitee&#xff0c;在推送时遇到 error: src refspec master does not match any. error: failed to push some refs to <REMOTE_URL>解决方法 rm -rf .github git init git add -A git commit -m "init for gite…...

计网第五章(运输层)(三)

一、UDP协议和TCP协议的对比 1、UDP无连接&#xff0c;TCP面向连接 使用UDP协议的通信双方可以随时发送数据&#xff0c;使用TCP协议的通信双方必须先进行3次握手建立连接&#xff0c;才能发送数据&#xff0c;最后还要进行4次挥手才能释放连接。 2、UDP支持单播、多播以及广…...

OpenCV 07(图像滤波器)

一、卷积 什么是图片卷积? 图像卷积就是卷积核在图像上按行滑动遍历像素时不断的相乘求和的过程 步长 步长就是卷积核在图像上移动的步幅. 上面例子中卷积核每次移动一个像素步长的结果, 如果将这个步长修改为2, 结果会如何? 为了充分扫描图片, 步长一般设为1. padding …...

uniapp项目实践总结(十三)封装文件操作方法

导语&#xff1a;在日常 APP 开发过程中&#xff0c;经常要进行文件的保存、读取列表以及查看和删除文件等操作&#xff0c;接下来就看一下具体的方法。 目录 原理分析方法实现实战演练案例展示 原理分析 主要是以下 API。 uni.saveFile&#xff1a;保存文件到本地缓存列表…...

程序地址空间

✅<1>主页&#xff1a;&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;Linux——程序地址空间 ☂️<3>开发环境&#xff1a;Centos7 &#x1f4ac;<4>前言&#xff1a;我们一直随口就能说出来的栈区&#xff0c;堆区&#xff0c;常量…...

HBS 家庭总线驱动和接收芯片MS1192,应用于电话及相关设备、空调设备、安全设备、AV 装置

MS1192 是适用于 HBS 总线规范&#xff08;日本电子工业协会&#xff09; 的适配器芯片&#xff0c;具备发送、接收数据的功能。在发送接收 单元中&#xff0c;采用 AMI 编码方式&#xff0c;可使用双绞线进行互联&#xff0c;信 号传输采用差分方式。 芯片采用单电源…...

IO和进程day08(消息队列、共享内存、信号灯集)

今日任务 1.代码 inversion.c #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/ipc.h> #include <sys/shm.h> #include <sys/types.h> #include …...

【数据结构】—堆排序以及TOP-K问题究极详解(含C语言实现)

食用指南&#xff1a;本文在有C基础的情况下食用更佳 &#x1f525;这就不得不推荐此专栏了&#xff1a;C语言 ♈️今日夜电波&#xff1a;ルミネセンス—今泉愛夏 1:01 ━━━━━━️&#x1f49f;──────── 5:05 …...

Python语言概述

​ 视频版教程 Python3零基础7天入门实战视频教程 Python作为一门非常流行的高级编程语言&#xff0c;自从22年开始&#xff0c;TIOBE编程语言排行榜Python一直排第一。 Python简洁高效&#xff0c;丰富的应用场景&#xff0c;受到广大程序员&#xff0c;科研工作者的喜爱。 …...

电子电路学习笔记之NCV84120DR2G——车规级单通道高压侧驱动器

关于车规级芯片&#xff1a; 关于车规级芯片&#xff08;Automotive Grade Chip&#xff09;&#xff0c;车规级芯片是专门用于汽车行业的芯片&#xff0c;具有高可靠性、高稳定性和低功耗等特点&#xff0c;以满足汽车电子系统的严格要求。这些芯片通常用于车载电子控制单元&…...

YOLO DNF辅助教程完结

课程完结&#xff01;撒花、撒花、撒花 课程完结&#xff01;撒花、撒花、撒花 课程完结&#xff01;撒花、撒花、撒花 ​呕心沥血三个月&#xff0c;《利用人工智能做DNF游戏辅助》系列实战课程已完结&#xff0c;技术路线贯穿串口通信、目标检测、opencv特征匹配等前沿技术…...

Hadoop-Hive

1. hive安装部署 2. hive基础 3. hive高级查询 4. Hive函数及性能优化 1.hive安装部署 解压tar -xvf ./apache-hive-3.1.2-bin.tar.gz -C /opt/soft/ 改名mv apache-hive-3.1.2-bin/ hive312 配置环境变量&#xff1a;vim /etc/profile #hive export HIVE_HOME/opt/soft/hive…...

竞赛 基于机器视觉的火车票识别系统

文章目录 0 前言1 课题意义课题难点&#xff1a; 2 实现方法2.1 图像预处理2.2 字符分割2.3 字符识别部分实现代码 3 实现效果最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于机器视觉的火车票识别系统 该项目较为新颖&#xff0c;适合作为竞赛…...

conda与pip镜像源环境配置

文章目录 一. 参考二. conda三. pip 一. 参考 b站环境配置视频 校园网镜像站 二. conda 利用校园网镜像站, 找到conda的镜像源配置文档. 将下面的文档复制到电脑上的.condarc文件中. channels:- defaults show_channel_urls: true default_channels:- https://mirrors.tuna…...

SDMatte处理动物与宠物图像效果展示:毛发级精度的自然抠图

SDMatte处理动物与宠物图像效果展示&#xff1a;毛发级精度的自然抠图 1. 为什么宠物抠图这么难 给宠物照片抠图可能是设计师最头疼的任务之一。想象一下&#xff0c;一只金毛犬站在浅色地毯上&#xff0c;毛发边缘几乎和背景融为一体&#xff1b;或者一只黑猫蜷缩在深色沙发…...

3个步骤解锁QQ音乐加密文件:QMCDecode让音乐重获自由

3个步骤解锁QQ音乐加密文件&#xff1a;QMCDecode让音乐重获自由 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff0c;默认转…...

5分钟部署MTools:功能强大的现代化工具,支持Windows/macOS/Linux

5分钟部署MTools&#xff1a;功能强大的现代化工具&#xff0c;支持Windows/macOS/Linux 1. 开箱即用的全能工具集 MTools是一款真正实现"下载即用"的现代化桌面工具集&#xff0c;它集成了图片处理、音视频编辑、AI智能工具和开发辅助四大核心功能模块。不同于需要…...

一键体验OpenClaw:星图平台百川2-13B-4bits镜像快速部署方案

一键体验OpenClaw&#xff1a;星图平台百川2-13B-4bits镜像快速部署方案 1. 为什么选择星图平台体验OpenClaw 作为一个长期关注AI自动化工具的技术爱好者&#xff0c;我第一次接触OpenClaw时就被它的理念吸引了——一个能在本地电脑上像人类一样操作各种软件的AI助手。但当我…...

Qwen3-0.6B-FP8部署详解:如何用16GB显存跑通FP8量化版Qwen3轻量推理

Qwen3-0.6B-FP8部署详解&#xff1a;如何用16GB显存跑通FP8量化版Qwen3轻量推理 想体验最新的大语言模型&#xff0c;但被动辄几十GB的显存需求劝退&#xff1f;今天&#xff0c;我们来解决这个痛点。 Qwen3系列模型以其强大的推理和对话能力备受关注&#xff0c;但其标准版本…...

高频电路设计必看:5分钟搞懂PCB阻抗匹配的3个关键参数(附SI9000计算技巧)

高频PCB设计实战&#xff1a;从阻抗理论到SI9000精准计算的完整指南 引言&#xff1a;为什么你的高速信号总是不稳定&#xff1f; 上周和一位资深硬件工程师聊天&#xff0c;他提到自己设计的千兆以太网板卡在测试时总是出现信号抖动问题&#xff0c;反复调整了三四版Layout依然…...

保姆级教程:在QT中配置qcustomplot实现热力图(含常见问题解决方案)

QT中qcustomplot热力图实战&#xff1a;从配置到交互优化的完整指南 第一次在QT项目中尝试用qcustomplot绘制热力图时&#xff0c;我被数据映射和实时刷新的问题困扰了整整两天。直到凌晨三点调试通过的那一刻&#xff0c;才真正理解这个强大可视化工具的精妙之处。本文将分享那…...

Webflux fromXXX对比

Mono.fromFuture和Mono.fromSupplier 刚开始尝试使用 Spring WebFlux 的时候&#xff0c;很多人都会使用 Mono.fromFuture() 将异步请求转成 Mono 对象&#xff0c;或者 Mono.fromSupplier() 将请求转成 MOno 对象&#xff0c;这两种方式在响应式编程 中都是不建议的&#xff0…...

自媒体人的秘密武器:OpenClaw+nanobot自动生成视频字幕文件

自媒体人的秘密武器&#xff1a;OpenClawnanobot自动生成视频字幕文件 1. 为什么我们需要自动化字幕生成 作为一个长期在视频创作领域摸索的自媒体人&#xff0c;我深知字幕制作这个环节有多折磨人。曾经为了给一段10分钟的视频添加字幕&#xff0c;我需要反复暂停播放、手动…...

Python中的生成器和迭代器:原理与实践

Python中的生成器和迭代器&#xff1a;原理与实践 一、背景与动机 在Python编程中&#xff0c;处理大量数据时&#xff0c;内存管理是一个常见的挑战。生成器&#xff08;Generators&#xff09;和迭代器&#xff08;Iterators&#xff09;为解决这一问题提供了一种高效的方式&…...