c#_转换这类"[[0,1,100],[1,2,100],[0,2,500]]"数组字符串为数组_Newtonsoft.Json
2021/8/25 1:06:01
本文主要是介绍c#_转换这类"[[0,1,100],[1,2,100],[0,2,500]]"数组字符串为数组_Newtonsoft.Json,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
787. K 站中转内最便宜的航班
有 n 个城市通过一些航班连接。给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 pricei 抵达 toi。
现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到出一条最多经过 k 站中转的路线,使得从 src 到 dst 的 价格最便宜 ,并返回该价格。 如果不存在这样的路线,则输出 -1。
事例1:
输入:
n = 3, edges = [[0,1,100],[1,2,100],[0,2,500]]
src = 0, dst = 2, k = 1
输出: 200
解释:
城市航班图如下:
从城市 0 到城市 2 在 1 站中转以内的最便宜价格是 200,如图中红色所示。
事例1:
输入:
n = 3, edges = [[0,1,100],[1,2,100],[0,2,500]]
src = 0, dst = 2, k = 0
输出: 500
解释:
城市航班图如下
从城市 0 到城市 2 在 0 站中转以内的最便宜价格是 500,如图中蓝色所示。
using System; // using System.Security.AccessControl; using Newtonsoft.Json; // JsonConvert // using Newtonsoft.Json.Linq; // JObject namespace ConsoleAppDemoOne { public static class ProgramOne { public static void Main(string[] args) { var nInput = Console.ReadLine(); var flightsInput = Console.ReadLine(); var srcInput = Console.ReadLine(); var dstInput = Console.ReadLine(); var kInput = Console.ReadLine(); var n = Convert.ToInt32(nInput); var scr = Convert.ToInt32(srcInput); var dst = Convert.ToInt32(dstInput); var k = Convert.ToInt32(kInput); Console.WriteLine(n.GetType()); // /*sing Newtonsoft.Json; // JsonConvert // using Newtonsoft.Json.Linq; // JObject*/ // var flights = (JObject)JsonConvert.DeserializeObject(flightsInput); // Console.WriteLine(flights); // Console.WriteLine(flights.GetType()); try { var flights = JsonConvert.DeserializeObject<int[][]>(flightsInput ?? string.Empty); Console.WriteLine(flights); if (flights == null) return; Console.WriteLine(flights.GetType()); var sl = new Solution(); Console.WriteLine(sl.FindCheapestPrice(n, flights, scr, dst, k)); // Console.ReadKey(); } catch (Exception ex) { Console.WriteLine(ex); } } } public class Solution { public int FindCheapestPrice(int n, int[][] flights, int src, int dst, int k) { const int inf = 10000 * 101 + 1; // int[,] f = new int[k + 2, n]; var f = new int[k + 2, n]; for (var i = 0; i < k + 2; ++i) { for (var j = 0; j < n; ++j) { f[i, j] = inf; } } f[0, src] = 0; for (var t = 1; t <= k + 1; ++t) { foreach (var flight in flights) { int j = flight[0], i = flight[1], cost = flight[2]; f[t, i] = Math.Min(f[t, i], f[t - 1, j] + cost); } } var ans = inf; for (var t = 1; t <= k + 1; ++t) { ans = Math.Min(ans, f[t, dst]); } return ans == inf ? -1 : ans; } } }View Code
try { var flights = JsonConvert.DeserializeObject<int[][]>(flightsInput ?? string.Empty); Console.WriteLine(flights); if (flights == null) return; Console.WriteLine(flights.GetType()); var sl = new Solution(); Console.WriteLine(sl.FindCheapestPrice(n, flights, scr, dst, k)); // Console.ReadKey(); } catch (Exception ex) { Console.WriteLine(ex); }
这篇关于c#_转换这类"[[0,1,100],[1,2,100],[0,2,500]]"数组字符串为数组_Newtonsoft.Json的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#