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

网站介绍词包装设计专业

网站介绍词,包装设计专业,网络口碑营销的定义,手机网页及网站设计 pdf417m. 太平洋大西洋水流问题 题目链接 代码随想录文章讲解链接 方法一#xff1a; 用时#xff1a;1h0m58s 思路 直接找哪些点既可以到达太平洋又可以到达大西洋比较麻烦#xff0c;换个角度#xff0c;找到太平洋可以逆流而上到达的点#xff0c;再找到大西洋可以逆…417m. 太平洋大西洋水流问题 题目链接 代码随想录文章讲解链接 方法一 用时1h0m58s 思路 直接找哪些点既可以到达太平洋又可以到达大西洋比较麻烦换个角度找到太平洋可以逆流而上到达的点再找到大西洋可以逆流而上到达的点两者的交集就是所需要的答案。 用两个二维数组分别记录太平洋和大西洋可以逆流而上达到的点对边界的点使用DFS。 时间复杂度 O ( m ⋅ n ) O(m \cdot n) O(m⋅n)。空间复杂度 O ( m ⋅ n ) O(m \cdot n) O(m⋅n)。 C代码 class Solution { private:int m;int n;void dfs(vectorvectorint heights, vectorvectorbool visited, int x, int y) {visited[x][y] true;if (x - 1 0 !visited[x - 1][y] heights[x - 1][y] heights[x][y]) dfs(heights, visited, x - 1, y);if (x 1 m !visited[x 1][y] heights[x 1][y] heights[x][y]) dfs(heights, visited, x 1, y);if (y - 1 0 !visited[x][y - 1] heights[x][y - 1] heights[x][y]) dfs(heights, visited, x, y - 1);if (y 1 n !visited[x][y 1] heights[x][y 1] heights[x][y]) dfs(heights, visited, x, y 1);}public:vectorvectorint pacificAtlantic(vectorvectorint heights) {m heights.size();n heights[0].size();vectorvectorbool pacific(m, vectorbool(n, false));vectorvectorbool atlantic(m, vectorbool(n, false));vectorvectorint res;for (int i 0; i m; i) {if (!pacific[i][0]) dfs(heights, pacific, i, 0);if (!atlantic[i][n - 1]) dfs(heights, atlantic, i, n - 1);}for (int i 0; i n; i) {if (!pacific[0][i]) dfs(heights, pacific, 0, i);if (!atlantic[m - 1][i]) dfs(heights, atlantic, m - 1, i);}for (int i 0; i m; i) {for (int j 0; j n; j) {if (pacific[i][j] atlantic[i][j]) res.push_back({i, j});}}return res;} };方法二BFS 用时6m53s 思路 时间复杂度 O ( m n ) O(mn) O(mn)。空间复杂度 O ( m n ) O(mn) O(mn)。 C代码 class Solution { private:int m;int n;int dir[4][2] {0, 1, 0, -1, 1, 0, -1, 0};void bfs(vectorvectorint heights, vectorvectorbool visited, int x, int y) {queuepairint, int que;que.push(pairint, int(x, y));visited[x][y] true;while (!que.empty()) {pairint, int tmp que.front();que.pop();for (int i 0; i 4; i) {int nextx tmp.first dir[i][0];int nexty tmp.second dir[i][1];if (!(nextx 0 || nextx m || nexty 0 || nexty n) !visited[nextx][nexty] heights[nextx][nexty] heights[tmp.first][tmp.second]) {visited[nextx][nexty] true;que.push(pairint, int(nextx, nexty));}}}}public:vectorvectorint pacificAtlantic(vectorvectorint heights) {m heights.size();n heights[0].size();vectorvectorbool pacific(m, vectorbool(n, false));vectorvectorbool atlantic(m, vectorbool(n, false));vectorvectorint res;for (int i 0; i m; i) {if (!pacific[i][0]) bfs(heights, pacific, i, 0);if (!atlantic[i][n - 1]) bfs(heights, atlantic, i, n - 1);}for (int i 0; i n; i) {if (!pacific[0][i]) bfs(heights, pacific, 0, i);if (!atlantic[m - 1][i]) bfs(heights, atlantic, m - 1, i);}for (int i 0; i m; i) {for (int j 0; j n; j) {if (pacific[i][j] atlantic[i][j]) res.push_back({i, j});}}return res;} };看完讲解的思考 逆流而上真妙啊。 代码实现遇到的问题 无。 841m. 钥匙和房间 题目链接 代码随想录文章讲解链接 方法一DFS 用时12m21s 思路 DFS一遍若有房间没走过则返回false。 时间复杂度 O ( n ) O(n) O(n)。空间复杂度 O ( n ) O(n) O(n)。 C代码 class Solution { private:void dfs(vectorvectorint rooms, vectorbool visited, int i) {visited[i] true;for (int j 0; j rooms[i].size(); j) {if (!visited[rooms[i][j]]) dfs(rooms, visited, rooms[i][j]);}}public:bool canVisitAllRooms(vectorvectorint rooms) {vectorbool visited(rooms.size(), false);dfs(rooms, visited, 0);for (int i 0; i rooms.size(); i) {if (!visited[i]) return false;}return true;} };方法二BFS 用时4m46s 思路 时间复杂度 O ( n ) O(n) O(n)。空间复杂度 O ( n ) O(n) O(n)。 C代码 class Solution { public:bool canVisitAllRooms(vectorvectorint rooms) {vectorbool visited(rooms.size(), false);queueint que;visited[0] true;que.push(0);while (!que.empty()) {int curRoom que.front();que.pop();for (int i 0; i rooms[curRoom].size(); i) {if (!visited[rooms[curRoom][i]]) {visited[rooms[curRoom][i]] true;que.push(rooms[curRoom][i]);}}}for (int i 1; i rooms.size(); i) {if (!visited[i]) return false;}return true;} };看完讲解的思考 无。 代码实现遇到的问题 无。 463e. 岛屿的周长 题目链接 代码随想录文章讲解链接 方法一DFS 用时7m37s 思路 在DFS的过程中某个方向到达边界或者到达水域则说明该方向是一条边周长1。 时间复杂度 O ( m n ) O(mn) O(mn)。空间复杂度 O ( m n ) O(mn) O(mn)。 C代码 class Solution { private:int m;int n;int perimeter;void dfs(vectorvectorint grid, int x, int y) {grid[x][y] 2;if (x - 1 0 || grid[x - 1][y] 0) perimeter;else if (grid[x - 1][y] ! 2) dfs(grid, x - 1, y);if (x 1 m || grid[x 1][y] 0) perimeter;else if (grid[x 1][y] ! 2) dfs(grid, x 1, y);if (y - 1 0 || grid[x][y - 1] 0) perimeter;else if (grid[x][y - 1] ! 2) dfs(grid, x, y - 1);if (y 1 n || grid[x][y 1] 0) perimeter;else if (grid[x][y 1] ! 2) dfs(grid, x, y 1);}public:int islandPerimeter(vectorvectorint grid) {m grid.size();n grid[0].size();for (int i 0; i m; i) {for (int j 0; j n; j) {if (grid[i][j] 1) {dfs(grid, i, j);return perimeter;}}}return perimeter;} };方法二BFS 用时4m55s 思路 时间复杂度 O ( m n ) O(mn) O(mn)。空间复杂度 O ( m n ) O(mn) O(mn)。 C代码 class Solution { private:int m;int n;int perimeter;int dir[4][2] {0, 1, 0, -1, 1, 0, -1, 0};void bfs(vectorvectorint grid, int x, int y) {queuepairint, int que;grid[x][y] 2;que.push(pairint, int(x, y));while (!que.empty()) {pairint, int tmp que.front();que.pop();for (int i 0; i 4; i) {int nextx tmp.first dir[i][0];int nexty tmp.second dir[i][1];if (nextx 0 || nextx m || nexty 0 || nexty n || grid[nextx][nexty] 0) perimeter;else if (grid[nextx][nexty] ! 2) {grid[nextx][nexty] 2;que.push(pairint, int(nextx, nexty));}}}}public:int islandPerimeter(vectorvectorint grid) {m grid.size();n grid[0].size();for (int i 0; i m; i) {for (int j 0; j n; j) {if (grid[i][j] 1) {bfs(grid, i, j);return perimeter;}}}return perimeter;} };方法三遍历 用时7m11s 思路 其实直接遍历就行了遇到陆地就判断一下四条边根本不用dfs、bfs这么复杂… 时间复杂度 O ( m n ) O(mn) O(mn)。空间复杂度 O ( 1 ) O(1) O(1)。 C代码 class Solution { public:int islandPerimeter(vectorvectorint grid) {int m grid.size();int n grid[0].size();int perimeter 0;for (int i 0; i m; i) {for (int j 0; j n; j) {if (grid[i][j] 1) {if (i - 1 0 || grid[i - 1][j] 0) perimeter;if (i 1 m || grid[i 1][j] 0) perimeter;if (j - 1 0 || grid[i][j - 1] 0) perimeter;if (j 1 n || grid[i][j 1] 0) perimeter;}}}return perimeter;} };看完讲解的思考 无。 代码实现遇到的问题 无。 最后的碎碎念 一刷倒数第二天
http://www.pierceye.com/news/777693/

相关文章:

  • 汽车租赁网站怎么做沈阳网站开发程序员工资
  • 网站建设教程搭建汽岁湖南岚鸿专注交城有做网站的吗
  • 网站开发怎么连接sqlserver建设网站怎么收费标准
  • 万网网站模板购买北京南站核酸检测地点
  • 南京城乡建设网站公司做网站哪个好
  • 有没有学做衣服的网站广告设计公司有什么岗位
  • 什么网站做免单衣服厦门设计师网站
  • 深圳网站建设 龙华信科易乐自助建站
  • 徐老师在那个网站做发视频搜索引擎优化特点
  • 工信部网站备案批准文件重庆装修网站建设
  • 网站被攻击了怎么办网站优化 价格查询
  • 北京网站建设公司怎么样怎么做qq盗号网站
  • 中企动力网站建设合同中天建设招标网站
  • 湖南手机版建站系统开发wordpress获取用户角色
  • 南皮网站建设价格泰安房产信息网官网首页
  • 网页制作与网站建设实战大全重庆房产信息网官网
  • 上海的网站建设公司app对接网站登录要怎么做
  • 江苏省备案网站现在什么网站做外贸的最好
  • 如何知道网站是否被k蓝山网站建设
  • 网站维护服务公司免费的网站推广渠道
  • 网站建设方案应该怎么写asp网站无法上传图片
  • 建个网站多少钱app企业关键词排名优化公司
  • 电子商务他们的代表网站代码网站怎么做的
  • 如何做网站卖东西长春互联网公司排名
  • 怎样拥有自己的网站制作网站的步骤和方法
  • 北京电子商务app网站建设大兴小程序源码如何部署到服务器
  • 设计找图网站网站用什么构建
  • 做微信的网站叫什么软件湛江网站建设制作维护
  • 做网站商城多少钱wordpress链接公众号
  • 数码产品销售网站建设策划书金融类网站模板