最短路问题(Shortest Path Problem)是图论中一个经典的问题,旨在找到从一个顶点到另一个顶点的最短路径。 所给定的图可以是有向图(directed graph)也可以是无向图(undirected graph),并且边可以有权重(weights),即每条边有一个数值表示从一个顶点到另一个顶点的距离或成本。 最短路问题的常见变种包括: 单源最短...
classSolution{public:intshortestPathLength(vector<vector<int>>& graph){intn = graph.size(), target =0, res =0; unordered_set<string> visited; queue<pair<int,int>> q;for(inti =0; i < n; ++i) {intmask = (1<< i); target |= mask; visited.insert(to_string(mask) +"-"+to_st...
classSolution{public:intshortestPathAllKeys(vector<string>& grid){intm = grid.size(), n = grid[0].size(), keyCnt =0, res =0; queue<pair<int,int>> q; unordered_set<string> visited; vector<int> dirX{-1,0,1,0}, dirY{0,1,0,-1};for(inti =0; i < m; ++i) {for(intj =...
// DFS + BFS search solution int shortestPathAllKeys(vector<string>& grid) { bool ans = -1; pair<int, int> startPos; string keys; for(int i = 0; i < grid.size(); ++i) { for(int j = 0; j < grid[i].size(); ++j) { if(grid[i][j] == '@') { startPos = {i, j...
Minimum Deletions & Insertions to Transform a String into another,字符串变换 Longest Increasing Subsequence,最长上升子序列 Maximum Sum Increasing Subsequence,最长上升子序列和 Shortest Common Super-sequence,最短超级子序列 Minimum Deletions to Make a Sequence Sorted,最少删除变换出子序列 Longest Repeating Su...
Leetcode 97 Interleaving String Leetcode 472 Concatenated Words Leetcode 403 Frog Jump Leetcode 329 Longest Increasing Path in a Matrix 前缀和(Prefix Sum) 基础知识:前缀和本质上是在一个list当中,用O(N)的时间提前算好从第0个数字到第i个数字之和,在后续使用中可以在O(1)时间内计算出第i到第j个数...
classSolution{public:stringfindShortestWay(vector<vector<int>>&maze,vector<int>&ball,vector<int>&hole){int m=maze.size(),n=maze[0].size();vector<vector<int>>dists(m,vector<int>(n,INT_MAX));vector<vector<int>>dirs{{0,-1},{-1,0},{0,1},{1,0}};vector<char>way{'l','u',...
public int shortestPathAllKeys(String[] grid) { ans=Integer.MAX_VALUE; mark=new boolean[6]; int m=grid.length; int n=grid[0].length(); map=new char[m][n]; list=new ArrayList<>(); alplist=new ArrayList<>(); for(int i=0;i<m;i++) ...
Histogram BV1J64y1F7Brleetcode 85 Maximal Rectangle BV1Dk4y127j4leetcode 86 Partition List BV1cA411v7Fxleetcode 89 Gray Code BV1wV411z72bleetcode 92 Reverse Linked List II BV1wi4y1g7P6leetcode 97 Interleaving String BV1kK4y1575oleetcode 99 Recover Binary Search Tree BV1zK411J7YCleet...
#include <iostream> #include <vector> #include <string> #include <algorithm> #include <queue> using namespace std; struct Graph{ vector<vector<int>> arr; int node_num; Graph(int n, vector<vector<int>> edges){ this->node_num = n; this->arr = vector<vector<int>>(n,vector<int>(...