力扣1631.最小体力消耗路径

力扣1631.最小体力消耗路径

  • 二分答案

    • 判断是否有一条边权小于mid的路径
    • bfs判断路径
  •   class Solution {
          int dx[4] = {1,0,-1,0},dy[4] = {0,1,0,-1};
      public:
          int minimumEffortPath(vector<vector<int>>& heights) {
              int m = heights.size();
              int n = heights[0].size();
              auto check = [&](int mid) -> bool
              {
                  queue<pair<int,int>> q;
                  q.emplace(0,0);
                  vector<int> seen(m*n);
                  seen[0] = 1;
                  while(!q.empty())
                  {
                      auto [x,y] = q.front();
                      q.pop();
                      for(int i=0;i<4;i++)
                      {
                          int a = x + dx[i];
                          int b = y + dy[i];
                          if(a>=0 && a<m && b>=0 && b<n && !seen[a*n + b] && abs(heights[x][y] - heights[a][b]) <= mid)
                          {
                              q.emplace(a,b);
                              seen[a*n+b] = 1;
                          }
                      }
                  }
                  if(seen[m*n-1]) return true;
                  else return false;
              };
              int l = 0,r = 999999;
              while(l<r)
              {
                  int mid = l + r >> 1;
                  if(check(mid)) r = mid;
                  else l = mid + 1;
              }
              return r;
          }
      };
    

相关推荐

  1. 1631.体力消耗路径

    2024-06-17 08:56:04       7 阅读
  2. 120. 三角形路径

    2024-06-17 08:56:04       38 阅读
  3. 0120——三角形路径

    2024-06-17 08:56:04       36 阅读
  4. DP- 120.三角形路径

    2024-06-17 08:56:04       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-17 08:56:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-17 08:56:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-17 08:56:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-17 08:56:04       18 阅读

热门阅读

  1. 算法第七天:leetcode之209.长度最小的子数组

    2024-06-17 08:56:04       6 阅读
  2. leetcode198 打家劫舍

    2024-06-17 08:56:04       7 阅读
  3. 结构型模式-享元模式

    2024-06-17 08:56:04       7 阅读
  4. CMake Tutorial (3.30-rc3版) 练习和点评

    2024-06-17 08:56:04       7 阅读
  5. HTML中的<br>、<hr>和<pre>标签使用指南

    2024-06-17 08:56:04       8 阅读
  6. 重庆思庄技术分享——启动Oracle下最小追踪日志

    2024-06-17 08:56:04       7 阅读
  7. vue实现图片预览

    2024-06-17 08:56:04       5 阅读
  8. 「C系列」C 文件读写

    2024-06-17 08:56:04       7 阅读
  9. 后端开发面试题4(附答案)

    2024-06-17 08:56:04       6 阅读
  10. C++ 二分查找法【面试】

    2024-06-17 08:56:04       6 阅读
  11. 1、C++编程中的基本运算 - 课件

    2024-06-17 08:56:04       7 阅读
  12. SpringSecurity(JWT、SecurityConfig、Redis)

    2024-06-17 08:56:04       6 阅读
  13. API 类别 - 特效核心

    2024-06-17 08:56:04       5 阅读
  14. Linux 基础IO 三

    2024-06-17 08:56:04       6 阅读
  15. 你应该知道的口语连读技巧

    2024-06-17 08:56:04       6 阅读
  16. Rust创建基准测试bench

    2024-06-17 08:56:04       6 阅读