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

leetcode LCR.衣橱整理

一、题目描述

二、解题思路

整体思路

可以采用深度优先搜索+剪枝来解决这个问题。以示例1为例子,可以整理的衣橱(标红)如下图所示,所以示例一返回18:

具体思路

(1)函数功能:dfs函数用于从(i,j)位置开始,在m*n的二维矩阵内寻找各数位之和<=cnt的位置的数量;

(2)函数体

<1>先将visited[i][j]赋值为true,表示当前位置已经访问;

<2>按照下、右的顺序进行探索,如果(x,y)未越界且未被访问,并且满足x,y各数位之和小于等于cnt,则将ret++,并对(x,y)位置递归调用dfs函数;

三、代码实现

class Solution {int ret;vector<vector<bool>> visited;
public:int wardrobeFinishing(int m, int n, int cnt) {//初始化全局变量ret=1;visited.resize(m,vector<bool>(n,false));dfs(m,n,0,0,cnt);return ret;}//向下、右探索int dx[2]={1,0};int dy[2]={0,1};//getsum函数用于求数字i各数位之和int getsum(int i){int sum=0;while(i){sum+=i%10;i/=10;}return sum;}void dfs(int m,int n,int i,int j,int cnt){visited[i][j]=true;for(int k=0;k!=2;k++){int x=i+dx[k];int y=j+dy[k];if(x>=0&&x<m&&y>=0&&y<n&&getsum(x)+getsum(y)<=cnt&&!visited[x][y]){ret++;dfs(m,n,x,y,cnt);}}}
};

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

相关文章:

  • 基于单片机的自动存包柜设计
  • 竞价关键词排名软件保山网站建设优化
  • 电力市场学习笔记(1):什么是电力现货交易
  • 单例模式:原理、实现与演进
  • 用AI帮忙,开发刷题小程序:微信小程序中实现Markdown图片解析与渲染功能详解
  • 天津魔方网站建设WordPress模板转换typecho
  • 小工具大体验:rlwrap加持下的Oracle/MySQL/SQL Server命令行交互
  • AI智能体的未来:从语言泛化到交互革命
  • 云计算划分标准与Kubernetes NetworkPolicy深度解析
  • 学院网站建设功能网络公关案例
  • 【HTML】实现一个AI角色切换网页页面
  • 【51单片机】【protues仿真】基于51单片机矩阵电子琴系统
  • 网站怎样做免费优化有效果组织部信息化建设官方网站
  • 使用telnet进行Dubbo接口测试
  • 定时器实现非阻塞式程序
  • ArrayList - 数据结构 - 数组
  • 做网站的注意什么问题哪些经营范围是包含网站开发的
  • 【Python】基于 PyQt6 和 Conda 的 PyInstaller 打包工具
  • MyBatis Plus 核心功能与用法
  • LNMP架构实践
  • 自己怎么建个网站赚钱吗外贸品牌推广公司
  • 在线咨询 1 网站宣传建立免费公司网站
  • 10-存储过程和存储函数
  • leetCode101:对称二叉树
  • 【Linux】网络部分——Socket编程 UDP实现网络云服务器与本地虚拟机的基本通信
  • 实战项目:鸿蒙多端协同智能家居控制 App 开发全流程
  • 个人用云计算学习笔记 --19 (MariaDB服务器)
  • Linux -- 信号【中】
  • Azure - 尝试创建并使用一下Azure AI Search
  • NtripShare GNSS接收机配置系统SPI读取村田SCL3300倾角数据