From b948423bbd596785e65ac2d1d8db790cfa8e36a5 Mon Sep 17 00:00:00 2001 From: the-1Riddle <154701770+the-1Riddle@users.noreply.github.com> Date: Sun, 19 May 2024 14:47:40 +0300 Subject: [PATCH] Create find-the-maximum-sum-of-node-values.cs --- C#/find-the-maximum-sum-of-node-values.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 C#/find-the-maximum-sum-of-node-values.cs diff --git a/C#/find-the-maximum-sum-of-node-values.cs b/C#/find-the-maximum-sum-of-node-values.cs new file mode 100644 index 0000000..04f171f --- /dev/null +++ b/C#/find-the-maximum-sum-of-node-values.cs @@ -0,0 +1,19 @@ +/** Time: O(n) **/ + +public class Solution { + public long MaximumValueSum(int[] nums, int k, int[][] edges) + { + long result = 0; + int diff = int.MaxValue; + int parity = 0; + + foreach (var x in nums) { + var y = x ^ k; + result += Math.Max(x, y); + parity ^= x < y ? 1 : 0; + diff = Math.Min(diff, Math.Abs(x - y)); + } + + return result - parity * diff; + } +}