//Given a signed 32-bit integer x, return x with its digits reversed. If reversi//ng x causes the value to go outside the signed 32-bit integer range [-231, 231 -// 1], then return 0. //// Assume the environment does not allow you to store 64-bit integers (signed or// unsigned). //// // Example 1: // Input: x = 123//Output: 321// Example 2: // Input: x = -123//Output: -321// Example 3: // Input: x = 120//Output: 21// Example 4: // Input: x = 0//Output: 0// // // Constraints: //// // -231 <= x <= 231 - 1 // // Related Topics 數(shù)學(xué) // 👍 2958 👎 0// A C++ program for Dijkstra's single source shortest path algorithm.// The program is for adjacency matrix representation of the graph#include<iostream>usingnamespace std;#include<limits.h>// Number of vertices in the graph#defineV9// A utility function to find the vertex with minimum distance value, from// the set of vertices not yet included in shortest path treeintminDistance(int dist[],bool sptSet[]){// Initialize min valueint min = INT_MAX, min_index;for(int v =0; v < V; v++)if(sptSet[v]==false&& dist[v]<= min)min = dist[v], min_index = v;return min_index;}// A utility function to print the constructed distance arrayvoidprintSolution(int dist[]){cout <<"Vertex \t Distance from Source"<< endl;for(int i =0; i < V; i++)cout << i <<" \t\t"<<dist[i]<< endl;}// Function that implements Dijkstra's single source shortest path algorithm// for a graph represented using adjacency matrix representationvoiddijkstra(int graph[V][V],int src){int dist[V];// The output array. dist[i] will hold the shortest// distance from src to ibool sptSet[V];// sptSet[i] will be true if vertex i is included in shortest// path tree or shortest distance from src to i is finalized// Initialize all distances as INFINITE and stpSet[] as falsefor(int i =0; i < V; i++)dist[i]= INT_MAX, sptSet[i]=false;// Distance of source vertex from itself is always 0dist[src]=0;// Find shortest path for all verticesfor(int count =0; count < V -1; count++){// Pick the minimum distance vertex from the set of vertices not// yet processed. u is always equal to src in the first iteration.int u =minDistance(dist, sptSet);// Mark the picked vertex as processedsptSet[u]=true;// Update dist value of the adjacent vertices of the picked vertex.for(int v =0; v < V; v++)// Update dist[v] only if is not in sptSet, there is an edge from// u to v, and total weight of path from src to v through u is// smaller than current value of dist[v]if(!sptSet[v]&& graph[u][v]&& dist[u]!= INT_MAX&& dist[u]+ graph[u][v]< dist[v])dist[v]= dist[u]+ graph[u][v];}// print the constructed distance arrayprintSolution(dist);}// driver program to test above functionintmain(){/* Let us create the example graph discussed above */int graph[V][V]={{0,4,0,0,0,0,0,8,0},{4,0,8,0,0,0,0,11,0},{0,8,0,7,0,4,0,0,2},{0,0,7,0,9,14,0,0,0},{0,0,0,9,0,10,0,0,0},{0,0,4,14,10,0,2,0,0},{0,0,0,0,0,2,0,1,6},{8,11,0,0,0,0,1,0,7},{0,0,2,0,0,0,6,7,0}};dijkstra(graph,0);return0;}// This code is contributed by shivanisinghss2110//leetcode submit region end(Prohibit modification and deletion)