网站开发的公司名称android app开发 wordpress

pingmian/2025/10/10 15:36:39/文章来源:
网站开发的公司名称,android app开发 wordpress,常州中小企业网站制作,wordpress md5解密目录 1 200. 岛屿数量 2 994. 腐烂的橘子 2.1 智障遍历法 2.2 仿层序遍历法 菜鸟做题#xff0c;语言是 C 1 200. 岛屿数量 解题思路#xff1a; 遍历二维数组#xff0c;寻找 “1”#xff08;若找到则岛屿数量 1#xff09;寻找与当前 “1” 直接或间接连接在…目录 1  200. 岛屿数量 2  994. 腐烂的橘子 2.1  智障遍历法 2.2  仿层序遍历法 菜鸟做题语言是 C 1  200. 岛屿数量 解题思路 遍历二维数组寻找 “1”若找到则岛屿数量 1寻找与当前 “1” 直接或间接连接在一起的 “1”将这些 “1” 置为 “0”再寻找下一个 “1” 思路说明图 如步骤 1 所示我们找到 “1”红框内部它可以作为一个岛屿的开头。接下来我们寻找与这个 “1” 直接或间接连接在一起的 “1”如步骤 2 所示。这一坨 “1”红框内部构成一个岛屿。 直接连接 是指上下左右四个方向斜对角方向的不算。 除此之外为了避免我们下一次寻找 “1” 时把这座岛屿内部的 “1” 视为下一个岛屿的开头我们要将这些 “1” 置为 “0” 。 我们是对整个二维数组进行遍历的若不在遍历完一座岛屿后将 “1” 置为 “0”那么这座岛屿除开头之外的 “1” 会被误认为是下一座岛屿的开头。 具体代码 ① Find “1”在二维数组中寻找 “1”作为岛屿的开头。 for (int i 0; i nr; i) {for (int j 0; j nc; j) {if (grid[i][j] 1) {count;helper(grid, i, j);}} } nr 是二维数组的行数nc 是二维数组的列数。一旦找到 “1” 就 count即认为找到了一座新的岛屿。同时使用 helper 函数去寻找与当前 “1” 直接或间接连接在一起的 “1” 。 ② Find Island寻找与当前 “1” 直接或间接连接在一起的 “1”它们构成一座岛屿。 void helper(vectorvectorchar grid, int r, int c) {int nr grid.size();int nc grid[0].size();grid[r][c] 0;if (r - 1 0 grid[r - 1][c] 1) helper(grid, r - 1, c);if (r 1 nr grid[r 1][c] 1) helper(grid, r 1, c);if (c - 1 0 grid[r][c - 1] 1) helper(grid, r, c - 1);if (c 1 nc grid[r][c 1] 1) helper(grid, r, c 1); } 这四个 if 其实就是做上下左右四个方向的边界判断同时判断当前 “1” 的邻居是不是 “1” 。若找到相邻的 “1”那么再递归寻找与相邻的 “1” 直接或间接连接在一起的 “1” 。 class Solution { public:void helper(vectorvectorchar grid, int r, int c) {int nr grid.size();int nc grid[0].size();grid[r][c] 0;if (r - 1 0 grid[r - 1][c] 1) helper(grid, r - 1, c);if (r 1 nr grid[r 1][c] 1) helper(grid, r 1, c);if (c - 1 0 grid[r][c - 1] 1) helper(grid, r, c - 1);if (c 1 nc grid[r][c 1] 1) helper(grid, r, c 1);}int numIslands(vectorvectorchar grid) {int nr grid.size();if (nr 0) return 0;int nc grid[0].size();int count 0;for (int i 0; i nr; i) {for (int j 0; j nc; j) {if (grid[i][j] 1) {count;helper(grid, i, j);}}}return count;} }; 2  994. 腐烂的橘子 与  200. 岛屿数量  像又不像区别在于是否有时间观念 2.1  智障遍历法 解题思路 每个时刻都遍历二维数组寻找腐烂的橘子2对位于腐烂的橘子2四周的新鲜橘子1进行污染直到所有新鲜橘子都被污染或者无法继续污染 具体代码 ① 寻找腐烂的橘子2与 200 题的代码几乎一样。 for (int i 0; i nr; i) {for (int j 0; j nc; j) {if (temp[i][j] 2)helper(grid, i, j);} } ② 对位于腐烂的橘子2四周的新鲜橘子1进行污染。 void helper(vectorvectorint grid, int r, int c) {if (r - 1 0 grid[r - 1][c] 1) grid[r - 1][c] 2;if (r 1 nr grid[r 1][c] 1) grid[r 1][c] 2;if (c - 1 0 grid[r][c - 1] 1) grid[r][c - 1] 2;if (c 1 nc grid[r][c 1] 1) grid[r][c 1] 2; } ③ 判断是否所有的新鲜橘子1都被污染。 bool isRotted(vectorvectorint grid) {for (int i 0; i nr; i) {for (int j 0; j nc; j) {if (grid[i][j] 1) return false;}}return true; } ④ 判断是否无法继续污染在进行新一轮污染之前先把上一轮的污染结果 grid 存入 temp 中如果这一轮污染后有 temp grid则说明已经无法继续污染了。 vectorvectorint temp grid; for (int i 0; i nr; i) {for (int j 0; j nc; j) {if (temp[i][j] 2)helper(grid, i, j);} } if (temp grid) return -1; 这样做还有一个好处就是可以通过 if (temp[i][j] 2) 来寻找腐烂的橘子避免在这一轮中新腐烂的橘子参与到污染中。 class Solution { public:int nr, nc;void helper(vectorvectorint grid, int r, int c) {if (r - 1 0 grid[r - 1][c] 1) grid[r - 1][c] 2;if (r 1 nr grid[r 1][c] 1) grid[r 1][c] 2;if (c - 1 0 grid[r][c - 1] 1) grid[r][c - 1] 2;if (c 1 nc grid[r][c 1] 1) grid[r][c 1] 2;}bool isRotted(vectorvectorint grid) {for (int i 0; i nr; i) {for (int j 0; j nc; j) {if (grid[i][j] 1) return false;}}return true;}int orangesRotting(vectorvectorint grid) {nr grid.size();nc grid[0].size();int count 0;while (!isRotted(grid)) {vectorvectorint temp grid;for (int i 0; i nr; i) {for (int j 0; j nc; j) {if (temp[i][j] 2)helper(grid, i, j);}}if (temp grid) return -1;count;if (isRotted(grid)) return count;}return count;} }; 2.2  仿层序遍历法 参考官方题解进行了升级仿二叉树的层序遍历不用像 2.1 那样每次都进行全部遍历 核心思想将属于同一时刻的腐烂橘子视为属于同一层。 上图画出了橘子逐步腐烂的 5 个时刻每个时刻中打红叉的腐烂橘子属于同一层打灰叉的腐烂橘子属于上一层。 解题思路 将属于同一时刻的腐烂橘子送入队列中出队并遍历属于同一时刻的腐烂橘子对四周的新鲜橘子进行污染并送入队列中 思路说明图 对于时刻 1让腐烂的橘子入队对于时刻 2队列中的腐烂橘子出队让它们对四周的新鲜橘子进行污染最后将新被污染的橘子入队。以此类推。 在一轮污染中如果有橘子被污染则计时器 1同时判断新鲜橘子是否被污染完毕如果没有橘子被污染则跳出循环同时判断新鲜橘子是否被污染完毕。若没有橘子被污染且新鲜橘子没有被污染完毕则表明无法污染所有新鲜橘子。 具体代码 ① 初始化 计数新鲜橘子的数量即 freshCount 1记录腐烂橘子的位置即将横纵坐标送入队列中 int freshCount 0; queuepairint, int q; for (int i 0; i nr; i) {for (int j 0; j nc; j) {if (grid[i][j] 1) {freshCount;} else if (grid[i][j] 2) {q.push(make_pair(i, j));}} } nr 是 grid 的行数nc 是 grid 的列数。 ② 循环结构和二叉树的层序遍历一模一样 获取当前层中腐烂橘子的个数遍历当前层中的腐烂橘子 while (!q.empty()) {int currentSize q.size();for (int i 0; i currentSize; i) {pairint, int pos q.front();q.pop();// 对橘子进行污染} } ③ 针对每个腐烂橘子对其四周进行污染 判断上/下/左/右位置是否越界若越界则跳过该位置若该位置上的是新鲜橘子则进行污染并将其入队同时将污染标志置为 true新鲜橘子数量 - 1 for (int i 0; i 4; i) {int x pos.first dir_x[i];int y pos.second dir_y[i];if (x 0|| x nr || y 0|| y nc || grid[x][y] 0)continue;if (grid[x][y] 1) {hasPolluted true;--freshCount;grid[x][y] 2;q.push(make_pair(x, y));}if (freshCount 0) break; } hasPolluted 用于表明当前层中是否至少有一个腐烂橘子造成了污染如果没有造成污染那么就要考虑是否无法污染所有新鲜橘子了。 class Solution { public:int dir_x[4] {0, 1, 0, -1};int dir_y[4] {1, 0, -1, 0};int orangesRotting(vectorvectorint grid) {int nr grid.size();if (nr 0) return 0;int nc grid[0].size();int freshCount 0;queuepairint, int q;for (int i 0; i nr; i) {for (int j 0; j nc; j) {if (grid[i][j] 1) {freshCount;} else if (grid[i][j] 2) {q.push(make_pair(i, j));}}}int timeCount 0;int hasPolluted false;while (!q.empty()) {int currentSize q.size();for (int i 0; i currentSize; i) {pairint, int pos q.front();q.pop();for (int i 0; i 4; i) {int x pos.first dir_x[i];int y pos.second dir_y[i];if (x 0|| x nr || y 0|| y nc || grid[x][y] 0)continue;if (grid[x][y] 1) {hasPolluted true;--freshCount;grid[x][y] 2;q.push(make_pair(x, y));}if (freshCount 0) break;}}if (hasPolluted) timeCount;hasPolluted false;}return freshCount 0 ? timeCount : -1;} }; 技能点使用循环结构来测试上/下/左/右四个方位。 int dir_x[4] {0, 1, 0, -1}; int dir_y[4] {1, 0, -1, 0};for (int i 0; i 4; i) {int x pos.first dir_x[i];int y pos.second dir_y[i];if (x 0|| x nr || y 0|| y nc)// ... } 并且用逆否命题来作为判断条件就不需要写很多 了

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

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

相关文章

网站基础知识最新网站模板

文章目录 一、介绍直流电机介绍电机驱动电路大功率器件直接驱动H桥驱动集成电路线路图 PWM介绍产生PWM的方法 二、实例1.呼吸灯案例2.直流电机调速 一、介绍直流电机 介绍 电机驱动电路 点击的负载较大,直接接在单片机I/O口上无法驱动,所以需要驱动电路…

自己编写网站购买网站域名多少钱

所谓重用(reuse)是指同一事物不做修改或稍加改动就在不同环境中多次重复使用。大量使用可重用的软件构件来开发软件,可以从下述两个方面提高软件的可维护性。 (1) 通常,可重用的软件构件在开发时都经过很严格的测试,可…

特价网站建设公司东莞网站优化的具体方案

2019独角兽企业重金招聘Python工程师标准>>> 1.JMeter常用术语 1)采样器(Samplers) 采样器是JMeter测试脚本的基础单元,用户可以用他来向服务器发出一个特定的请求,比如HTTP请求、JAVA请求。 2&#xff…

网站建设维护项目打开一张图片后点击跳转到网站怎么做的

jsp的一些常用语法实验四 JSP基本语法一、实验目的1. 熟练掌握JSP的声明、表达式、小脚本和注释的使用;2. 理解JSP指令和动作的语法格式;3. 理解JSP页面的生命周期。4. 熟练掌握page指令的下面的属性:import、session、errorPage、isErrorPag…

有没有能帮人快速网站备案的机构开发公司质量保证体系

1. 介绍一下spring的两大核心思想 2. 介绍一下java的代理,以及动态代理和静态代理的区别 3. spring动态代理是如何生成的,jdk动态代理和cglib的区别 4. 介绍一下synchronized关键字、以及synchronized锁和lock的区别 5. 讲一下java中synchronized的锁升级…

app科技产品网站建设塘沽有哪些互联网公司

文章目录 前言0. 通用设置0.1 开启插件0.2 设置Viewport 1. 分场景教程1. 1 在仅使用鼠标控制的场景下Common Activatable StackCommon Activatable Widget 1.2 当焦点落到一个按钮时显示默认确认(Click/Accept)按键图标Common Input Action DataBaseInp…

电子商务网站建设与管理第四章答案网站建设seo方案

✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:Java练习题 💬个人格言:不断的翻越一座又…

网站页面模板页面布局网站搭建服务合同

这里不再解释vDSO的概念,而直接谈其意义:vDSO类似一个信息公告板,用户可以直取所需,而无需为此办理任何手续。vDSO相当于内核直接暴露出来的一个C库,作为GLIBC的补充。…类似gettimeofday之类的调用,每次都…

好看的手机网站布局沈阳沙盘模型公司

SQL是另一个门类的开发语言,是专用于结构化数据库操作的专用语言。SQL不可能单独开发系统,但是做数据库方面的系统不懂SQL也不行。市面上很大部分开发岗位(后台)都是要和数据库打交道的,所以SQL必须掌握。 好消息是&am…

创意建设机械网站wordpress 加分类

本文将简单介绍loglus框架的基本使用,并给出demo 文章目录 前言Loglus常见用法自定义日志级别使用字段钩子输出到多个位置使用钩子实现自定义日志处理demo 前言 Logrus 是一个用于 Go 语言的结构化日志框架,它提供了丰富的日志级别、钩子和格式化选项。…

云主机开网站教程射阳建设局网站

基于 eclipse-temurin 构建国内时区,地区,语言的镜像 使用场景自定Dockerfile构建自己的基础镜像构建本地镜像推送远程仓库 使用场景 在给应用构建自定义镜像时,往往需要在每次构建时去调整时区,地区这些东西;每次构建…

人网站建站想要给网站加视频怎么做

1 STL 的数值算法概述 STL 的数值算法提供了一系列用于处理数值计算的模板函数。这些算法主要针对容器中的元素进行数学运算和统计计算,使得程序员能够高效地处理数值数据。 STL 数值算法包括了一系列功能丰富的函数,例如 std::accumulate 用于计算容器…

惠州哪家做网站好河南那家做网站实力强

本篇文章 经过许多次的测试和修改已经完成了在Ubuntu7.10 下 安装配置 ApachePHPMySQL的所有的工作. 1、在Ubuntu7.10 下安装 Apache2PHP5MySQL sudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd mysql-server php5-mysql phpmyadmin在下载来自动安装配置的时候…

专业电商网站建设多少钱阿里巴巴外贸圈

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…

互联网站备案信息重庆施工许可证查询

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

网站百度seo推广怎么做网站联系我们模板

一、篇头 全志H713平台,作为FHD投影的低成本入门方案,其公板上也配齐了许多投影使用的模组,本文即介绍投影仪调焦所用的步进电机,此模组的驱动原理、配制方法、调试方法。因为条件限制,本文采用的是H618香橙派Z3平台&…

网站页面策划怎么做北京66中网站做的不怎么样呀

DES: 这是一个新的游戏。给你一套牌、编号从1到100000.正常来说。你手中的牌和这次翻的牌是一样的,就会加一分。但是。如果是999的话。加三分。所以问你最大的分是多少。 貌似是简单的DP吧。(DP菜鸟...再简单我也不会...T_T...)于是...我看懂…

合适做服装的国际网站东莞企业网站建设开发

1、基本定义 广义定义:商品是为了出售而生产的劳动成果,人类社会生产力发展到一定历史阶段的产物,用于交换的劳动产品。 电商商品基本概念: 商品类目商品属性销售属性商品编码&商品规格编码SKU和SPU… 2、商品类目 电商平…

什么是网站建设方案书做网站项目的流程

一、面向对象类的设计:在程序开发中,要设计一个类,通常需要满足以下三个要求:1、类名 这类事物的名字,满足大驼峰命名法2、属性 这类事物具有什么样的特征3、 方法 这类事物具有什么样的行为eg:小明今年18岁&#xf…

在潮州哪里找做网站的wordpress二次开发手册chm

题目描述 疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数 n (0 < n ≤ 999)和行数 m(0 < m ≤ 999),从左上角的 1 开始,按照顺时针螺旋向内写方式,依次写出2,3,....,n,最终形成一个 m 行矩阵。 小明对这个矩阵有些要求:…