Day i do not know

This commit is contained in:
Electrominch
2022-10-18 00:45:31 +03:00
parent 01c5720116
commit 284b6ff10c
72 changed files with 1256 additions and 12 deletions

View File

@@ -4,6 +4,6 @@ internal class Program
{ {
static void Main(string[] args) static void Main(string[] args)
{ {
Console.WriteLine("Hello, World!"); Console.WriteLine(String.Join(" ", new Solution().TwoSum(new int[] {3,2,4}, 6)??new int[0]));
} }
} }

View File

@@ -4,10 +4,27 @@ public class Solution
{ {
public int[]? TwoSum(int[] nums, int target) public int[]? TwoSum(int[] nums, int target)
{ {
for (int i = 0; i < nums.Length; i++) Dictionary<int, int> dict = new Dictionary<int, int>();
for (int j = i + 1; j < nums.Length; j++) int[] halfIndexes = new int[] { -1, -1 };
if (nums[i] + nums[j] == target) int curHalfIndex = 0;
return new int[] { i, j }; for(int i = 0; i < nums.Length; i++)
{
if (dict.ContainsKey(nums[i]) == false)
dict.Add(nums[i], i);
if (nums[i] == target / 2)
{
halfIndexes[curHalfIndex++] = i;
if (target % 2 == 0 && curHalfIndex == 2)
return halfIndexes;
}
}
foreach (var kp in dict)
{
int need = target - kp.Key;
if (dict.ContainsKey(need) && (target % 2 == 1 || need != target/2))
return new int[] { kp.Value, dict[need] };
}
return null; return null;
} }
} }

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_101._Symmetric_Tree</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,13 @@
namespace _101._Symmetric_Tree;
internal class Program
{
static void Main(string[] args)
{
var t = new TreeNode(3,
new TreeNode(4, new TreeNode(5, new TreeNode(6), null), null),
new TreeNode(4, null, new TreeNode(5, null, new TreeNode(6)))
);
Console.WriteLine(new Solution().IsSymmetric(t));
}
}

View File

@@ -0,0 +1,20 @@
namespace _101._Symmetric_Tree;
public class Solution
{
public bool IsSymmetric(TreeNode root)
{
return Recursion(root.left, root.right);
}
private bool Recursion(TreeNode? left, TreeNode? right)
{
if ((left == null) != (right == null))
return false;
if (left == null || right == null)
return true;
if (left.val != right.val)
return false;
return Recursion(left.left, right.right) && Recursion(left.right, right.left);
}
}

View File

@@ -0,0 +1,17 @@
namespace _101._Symmetric_Tree;
//Definition for a binary tree node.
public class TreeNode
{
public int val;
public TreeNode? left;
public TreeNode? right;
public TreeNode(int val = 0, TreeNode? left = null, TreeNode? right = null)
{
this.val = val;
this.left = left;
this.right = right;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_104._Maximum_Depth_of_Binary_Tree</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _104._Maximum_Depth_of_Binary_Tree;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

View File

@@ -0,0 +1,26 @@
namespace _104._Maximum_Depth_of_Binary_Tree;
public class Solution
{
public int MaxDepth(TreeNode root)
{
var res = Recursion(0, root);
if (root != null)
res++;
return res;
}
private int Recursion(int count, TreeNode node)
{
if(node == null)
return 0;
var list = new List<int>();
if (node.left != null)
list.Add(Recursion(count + 1, node.left));
if (node.right != null)
list.Add(Recursion(count + 1, node.right));
if (list.Count > 0)
return list.Max();
return count;
}
}

View File

@@ -0,0 +1,15 @@
namespace _104._Maximum_Depth_of_Binary_Tree;
//Definition for a binary tree node.
public class TreeNode {
public int val;
public TreeNode? left;
public TreeNode? right;
public TreeNode(int val=0, TreeNode? left=null, TreeNode? right =null) {
this.val = val;
this.left = left;
this.right = right;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_112._Path_Sum</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

9
112. Path Sum/Program.cs Normal file
View File

@@ -0,0 +1,9 @@
namespace _112._Path_Sum;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

21
112. Path Sum/Solution.cs Normal file
View File

@@ -0,0 +1,21 @@
namespace _112._Path_Sum;
public class Solution
{
public bool HasPathSum(TreeNode root, int targetSum)
=> root != null ? Recursion(root, root.val, targetSum) : false;
private bool Recursion(TreeNode? node, int curSum, int targetSum)
{
if (curSum == targetSum && node != null && node.left == null && node.right == null)
return true;
if (node == null)
return false;
bool res = false;
if(node.left != null)
res |= Recursion(node.left, curSum + node.left.val, targetSum);
if (node.right != null)
res |= Recursion(node.right, curSum + node.right.val, targetSum);
return res;
}
}

16
112. Path Sum/TreeNode.cs Normal file
View File

@@ -0,0 +1,16 @@
namespace _112._Path_Sum;
//Definition for a binary tree node.
public class TreeNode
{
public int val;
public TreeNode? left;
public TreeNode? right;
public TreeNode(int val = 0, TreeNode? left = null, TreeNode? right = null)
{
this.val = val;
this.left = left;
this.right = right;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_136._Single_Number</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _136._Single_Number;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

View File

@@ -0,0 +1,12 @@
namespace _136._Single_Number;
public class Solution
{
public int SingleNumber(int[] nums)
{
int res = 0;
foreach (int num in nums)
res ^= num;
return res;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_190._Reverse_Bits</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _190._Reverse_Bits;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(new Solution().reverseBits(2));
}
}

View File

@@ -0,0 +1,17 @@
namespace _190._Reverse_Bits;
public class Solution
{
public uint reverseBits(uint n)
{
uint res = 0;
int count = 32;
while(count-- > 0)
{
res <<= 1;
res += n & 1;
n >>= 1;
}
return res;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_191._Number_of_1_Bits</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _191._Number_of_1_Bits;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

View File

@@ -0,0 +1,15 @@
namespace _191._Number_of_1_Bits;
public class Solution
{
public int HammingWeight(uint n)
{
int count = 0;
while (n > 0)
{
count+=(int)(n & 1);
n >>= 1;
}
return count;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_198._House_Robber</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _198._House_Robber;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

View File

@@ -0,0 +1,5 @@
namespace _198._House_Robber;
internal class Solution
{
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_226._Invert_Binary_Tree</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _226._Invert_Binary_Tree;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

View File

@@ -0,0 +1,23 @@
namespace _226._Invert_Binary_Tree;
public class Solution
{
public TreeNode? InvertTree(TreeNode root)
{
Stack<TreeNode> stack = new Stack<TreeNode>();
if (root != null)
stack.Push(root);
while (stack.Count > 0)
{
TreeNode cur = stack.Pop();
TreeNode? buf = cur.left;
cur.left = cur.right;
cur.right = buf;
if (cur.right != null)
stack.Push(cur.right);
if (cur.left != null)
stack.Push(cur.left);
}
return root;
}
}

View File

@@ -0,0 +1,16 @@
namespace _226._Invert_Binary_Tree;
//Definition for a binary tree node.
public class TreeNode
{
public int val;
public TreeNode? left;
public TreeNode? right;
public TreeNode(int val = 0, TreeNode? left = null, TreeNode? right = null)
{
this.val = val;
this.left = left;
this.right = right;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_231._Power_of_Two</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _231._Power_of_Two;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(new Solution().IsPowerOfTwo(int.Parse(Console.ReadLine()!)));
}
}

View File

@@ -0,0 +1,10 @@
namespace _231._Power_of_Two;
public class Solution
{
public bool IsPowerOfTwo(int n)
{
double log = Math.Log(n, 2);
return Math.Round(log, 12) == (int)log;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_299._Bulls_and_Cows</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _299._Bulls_and_Cows;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(new Solution().GetHint("1123", "0111"));
}
}

View File

@@ -0,0 +1,50 @@
using System.Text;
namespace _299._Bulls_and_Cows;
public class Solution
{
public string GetHint(string secret, string guess)
{
StringBuilder secretSb = new StringBuilder(secret);
StringBuilder guessSb = new StringBuilder(guess);
Dictionary<char, int> secretCount = new Dictionary<char, int>();
Dictionary<char, int> guessCount = new Dictionary<char, int>();
int A = 0;
int B = 0;
for(int i = 0; i < secret.Length + 1; i++)
{
if (i < secret.Length && secretSb[i] == guessSb[i])
{
secretSb[i] = '*';
guessSb[i] = '*';
A++;
}
if (i > 0)
{
int index = i - 1;
if (secretSb[index] == '*')
continue;
char key1 = secretSb[index];
if (secretCount.ContainsKey(key1))
secretCount[key1]++;
else
secretCount.Add(key1, 1);
char key2 = guessSb[index];
if (guessCount.ContainsKey(key2))
guessCount[key2]++;
else
guessCount.Add(key2, 1);
}
}
foreach (var kp in secretCount)
{
if (guessCount.ContainsKey(kp.Key) == false)
continue;
B += Math.Min(kp.Value, guessCount[kp.Key]);
}
return $"{A}A{B}B";
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_424._Longest_Repeating_Character_Replacement</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _424._Longest_Repeating_Character_Replacement;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(new Solution().CharacterReplacement("ABAB", 2));
}
}

View File

@@ -0,0 +1,56 @@
namespace _424._Longest_Repeating_Character_Replacement;
public class Solution
{
public int CharacterReplacement(string s, int k)
{
List<Counter> counters = new List<Counter>();
int max = 0;
for (int i = 0; i < s.Length; i++)
{
char ch = s[i];
for (int cIndex = 0; cIndex < counters.Count; cIndex++)
{
Counter curC = counters[cIndex];
curC.Add(ch);
if (curC.IsValid == false)
{
max = Math.Max(max, curC.ValidLength);
counters.RemoveAt(cIndex);
cIndex--;
}
}
counters.Add(new Counter(ch, k));
}
foreach (Counter curC in counters)
max = Math.Max(max, curC.ValidLength);
return max;
}
private class Counter
{
public int Length { get; private set; }
public bool IsValid => _maxMisses >= Length- _maxCount;
public int ValidLength => _maxCount + Math.Min(Length- _maxCount, _maxMisses);
private int[] _letters = new int[26];
private int _maxCount => _letters[_maxLetter-65];
private char _maxLetter;
private readonly int _maxMisses;
public Counter(char ch, int k)
{
_maxMisses = k;
Length = 1;
_letters[ch - 65] = 1;
_maxLetter = ch;
}
public void Add(char ch)
{
_letters[ch - 65]+=1;
if (_letters[ch - 65] > _maxCount)
_maxLetter = ch;
Length++;
}
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_438._Find_All_Anagrams_in_a_String</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,10 @@
namespace _438._Find_All_Anagrams_in_a_String;
internal class Program
{
static void Main(string[] args)
{
var res = new Solution().FindAnagrams("cbaebabacd", "abc");
Console.WriteLine(String.Join(" ", res));
}
}

View File

@@ -0,0 +1,35 @@
namespace _438._Find_All_Anagrams_in_a_String;
public class Solution
{
public IList<int> FindAnagrams(string s, string target)
{
List<int> result = new List<int>();
int[] array = new int[26];
int[] buf = new int[26];
foreach(var ch in target)
array[ch-97]+=1;
for(int i = 0; i <= s.Length-target.Length; i++)
{
int chIndex = s[i]-97;
if (array[chIndex] != 0)
{
Array.Copy(array, buf, array.Length);
bool win = true;
for (int j = i; j < i + target.Length; j++)
{
int chIndex2 = s[j] - 97;
buf[chIndex2] -= 1;
if (buf[chIndex2] < 0)
{
win = false;
break;
}
}
if (win)
result.Add(i);
}
}
return result;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_46._Permutations</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,12 @@
namespace _46._Permutations;
internal class Program
{
static void Main(string[] args)
{
var arr = new int[] { 1,2,3 };
var l = new Solution().Permute(arr);
foreach (var row in l)
Console.WriteLine(String.Join(" ", row));
}
}

View File

@@ -0,0 +1,30 @@
namespace _46._Permutations;
public class Solution
{
public IList<IList<int>> Permute(int[] nums)
{
List<IList<int>> l = new List<IList<int>>();
Recursion(l, new List<int>(), nums.ToHashSet());
return l;
}
private void Recursion(List<IList<int>> result, List<int> cur, HashSet<int> aviable)
{
if(aviable.Count == 0)
{
result.Add(cur);
return;
}
foreach(var av in aviable)
{
var newAviable = aviable.ToHashSet();
newAviable.Remove(av);
var newCur = cur.ToList();
newCur.Add(av);
Recursion(result, newCur, newAviable);
}
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_542._01_Matrix</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

15
542. 01 Matrix/Program.cs Normal file
View File

@@ -0,0 +1,15 @@
namespace _542._01_Matrix;
internal class Program
{
static void Main(string[] args)
{
int[][] mat = new int[][] { new int[] { 0,0,0, },
new int[] { 0,1,0, },
new int[] { 1,1,1, },
};
var res = new Solution().UpdateMatrix(mat);
foreach(var row in res)
Console.WriteLine(String.Join(" ", row));
}
}

View File

@@ -0,0 +1,35 @@
namespace _542._01_Matrix;
public class Solution
{
public int[][] UpdateMatrix(int[][] mat)
{
bool hasChanges = true;
while(hasChanges)
{
hasChanges = false;
for (int y = 0; y < mat.Length; y++)
{
for (int x = 0; x < mat[y].Length; x++)
{
if (mat[y][x] == 0)
continue;
int min = int.MaxValue;
for (int i = 1; i < 9; i += 2)
{
int newY = i / 3 + y - 1;
int newX = i % 3 + x - 1;
if (newY >= 0 && newY < mat.Length && newX >= 0 && newX < mat[newY].Length)
{
min = Math.Min(min, mat[newY][newX]);
}
}
if(mat[y][x] != min + 1)
hasChanges = true;
mat[y][x] = min + 1;
}
}
}
return mat;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_62._Unique_Paths</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _62._Unique_Paths;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(new Solution().UniquePaths(10,10));
}
}

View File

@@ -0,0 +1,29 @@
using System.Numerics;
namespace _62._Unique_Paths;
public class Solution
{
public int UniquePaths(int min, int max)
{
min--;
max--;
if (min == 0 || max == 0)
return 1;
if(min > max)
{
min = min + max;
max = min - max;
min = min - max;
}
return (int)(Fact(max + 1, min + max) / Fact(1, min));
}
private BigInteger Fact(int start, int end)
{
BigInteger res = start;
while (++start <= end)
res *= start;
return res;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_700._Search_in_a_Binary_Search_Tree</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _700._Search_in_a_Binary_Search_Tree;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

View File

@@ -0,0 +1,22 @@
namespace _700._Search_in_a_Binary_Search_Tree;
public class Solution
{
public TreeNode? SearchBST(TreeNode? root, int val)
{
Stack<TreeNode> stack = new Stack<TreeNode>();
if (root != null)
stack.Push(root);
while (stack.Count > 0)
{
TreeNode cur = stack.Pop();
if (cur.right != null)
stack.Push(cur.right);
if (cur.left != null)
stack.Push(cur.left);
if(cur.val == val)
return cur;
}
return null;
}
}

View File

@@ -0,0 +1,15 @@
namespace _700._Search_in_a_Binary_Search_Tree;
//Definition for a binary tree node.
public class TreeNode {
public int val;
public TreeNode? left;
public TreeNode? right;
public TreeNode(int val=0, TreeNode? left=null, TreeNode? right =null) {
this.val = val;
this.left = left;
this.right = right;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_701._Insert_into_a_Binary_Search_Tree</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _701._Insert_into_a_Binary_Search_Tree;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

View File

@@ -0,0 +1,34 @@
namespace _701._Insert_into_a_Binary_Search_Tree;
public class Solution
{
public TreeNode InsertIntoBST(TreeNode root, int val)
{
if(root == null)
return new TreeNode(val);
TreeNode cur = root;
while(true)
{
int curVal = cur.val;
if(val < curVal)
{
if (cur.left == null)
{
cur.left = new TreeNode(val);
break;
}
cur = cur.left;
}
else
{
if (cur.right == null)
{
cur.right = new TreeNode(val);
break;
}
cur = cur.right;
}
}
return root;
}
}

View File

@@ -0,0 +1,15 @@
namespace _701._Insert_into_a_Binary_Search_Tree;
//Definition for a binary tree node.
public class TreeNode {
public int val;
public TreeNode? left;
public TreeNode? right;
public TreeNode(int val=0, TreeNode? left=null, TreeNode? right =null) {
this.val = val;
this.left = left;
this.right = right;
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_746._Min_Cost_Climbing_Stairs</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _746._Min_Cost_Climbing_Stairs;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(new Solution().MinCostClimbingStairs(new int[] { 1, 100, 1, 1, 1, 100, 1, 1, 100, 1 }));
}
}

View File

@@ -0,0 +1,17 @@
namespace _746._Min_Cost_Climbing_Stairs;
public class Solution
{
public int MinCostClimbingStairs(int[] cost)
{
int prev = cost[0];
int cur = cost[1];
for(int i = 2; i < cost.Length; i++)
{
int next = cost[i] + Math.Min(prev, cur);
prev = cur;
cur = next;
}
return Math.Min(prev, cur);
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_77._Combinations</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,11 @@
namespace _77._Combinations;
internal class Program
{
static void Main(string[] args)
{
var res = new Solution().Combine(4, 2);
foreach(var row in res)
Console.WriteLine(string.Join(" ", row));
}
}

View File

@@ -0,0 +1,26 @@
namespace _77._Combinations;
public class Solution
{
public IList<IList<int>> Combine(int n, int k)
{
List<IList<int>> res = new List<IList<int>>();
Recursion(res, new List<int>(), 1, n, k);
return res;
}
private void Recursion(List<IList<int>> result, List<int> cur, int minNum, int maxNum, int count)
{
if (cur.Count == count)
{
result.Add(cur.ToList());
return;
}
for (int toAdd = minNum; toAdd <= maxNum; toAdd++)
{
cur.Add(toAdd);
Recursion(result, cur, toAdd + 1, maxNum, count);
cur.RemoveAt(cur.Count-1);
}
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_784._Letter_Case_Permutation</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _784._Letter_Case_Permutation;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(String.Join(" ", new Solution().LetterCasePermutation("hello")));
}
}

View File

@@ -0,0 +1,28 @@
using System.Text;
namespace _784._Letter_Case_Permutation;
public class Solution
{
public IList<string> LetterCasePermutation(string s)
{
HashSet<string> set = new HashSet<string>();
StringBuilder sb = new StringBuilder(s);
for (int i = 0; i < Math.Pow(2, s.Length); i++)
{
UppercasePerMask(sb, i);
set.Add(sb.ToString());
}
return set.ToList();
}
private void UppercasePerMask(StringBuilder sb, int mask)
{
for (int i = sb.Length - 1; i >= 0; i--)
{
if (char.IsLetter(sb[i]))
sb[i] = mask % 2 == 1 ? char.ToUpper(sb[i]) : char.ToLower(sb[i]);
mask >>= 1;
}
}
}

View File

@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>_994._Rotting_Oranges</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,9 @@
namespace _994._Rotting_Oranges;
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}

View File

@@ -0,0 +1,60 @@
namespace _994._Rotting_Oranges;
public class Solution
{
public int OrangesRotting(int[][] mat)
{
int w = mat[0].Length;
int h = mat.Length;
Work(mat, i =>
{
int y = h - i / w - 1;
int x = i % w;
return (y, x);
});
Work(mat, i =>
{
int y = i / w;
int x = w - i % w - 1;
return (y, x);
});
Work(mat, i =>
{
int y = i / w;
int x = i % w;
return (y, x);
});
int max = Work(mat, i =>
{
int y = h - i / w - 1;
int x = w - i % w - 1;
return (y, x);
});
return max;
}
private int Work(int[][] mat, Func<int, (int y, int x)> getXY)
{
int absMax = 0;
for (int i = 0; i < mat.Length * mat[0].Length; i++)
{
var dot = getXY(i);
int x = dot.x;
int y = dot.y;
if (mat[y][x] == 0)
continue;
int max = int.MinValue;
for (int shift = 1; shift < 9; shift += 2)
{
int newY = shift / 3 + y - 1;
int newX = shift % 3 + x - 1;
if (newY >= 0 && newY < mat.Length && newX >= 0 && newX < mat[newY].Length)
max = Math.Max(max, mat[newY][newX]);
}
mat[y][x] = max + 1;
absMax = Math.Max(absMax, mat[y][x]);
}
return absMax;
}
}

View File

@@ -97,19 +97,61 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "235. Lowest Common Ancestor
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "200. Number of Islands", "200. Number of Islands\200. Number of Islands.csproj", "{02FDE4A9-07D5-46B6-95AB-B61E1F3BA97B}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "200. Number of Islands", "200. Number of Islands\200. Number of Islands.csproj", "{02FDE4A9-07D5-46B6-95AB-B61E1F3BA97B}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "617. Merge Two Binary Trees", "617. Merge Two Binary Trees\617. Merge Two Binary Trees.csproj", "{79FEA33C-30E7-4FE6-A7C8-18BD13EE1B9A}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "617. Merge Two Binary Trees", "617. Merge Two Binary Trees\617. Merge Two Binary Trees.csproj", "{79FEA33C-30E7-4FE6-A7C8-18BD13EE1B9A}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "116. Populating Next Right Pointers in Each Node", "116. Populating Next Right Pointers in Each Node\116. Populating Next Right Pointers in Each Node.csproj", "{DD19137E-1A2F-4803-910B-A63826F65159}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "116. Populating Next Right Pointers in Each Node", "116. Populating Next Right Pointers in Each Node\116. Populating Next Right Pointers in Each Node.csproj", "{DD19137E-1A2F-4803-910B-A63826F65159}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "144. Binary Tree Preorder Traversal", "144. Binary Tree Preorder Traversal\144. Binary Tree Preorder Traversal.csproj", "{0DA14E84-9F56-4384-9743-BA7FD7539113}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "144. Binary Tree Preorder Traversal", "144. Binary Tree Preorder Traversal\144. Binary Tree Preorder Traversal.csproj", "{0DA14E84-9F56-4384-9743-BA7FD7539113}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "94. Binary Tree Inorder Traversal", "94. Binary Tree Inorder Traversal\94. Binary Tree Inorder Traversal.csproj", "{60E8258E-4BBC-42C7-96CD-C67DB629E0E1}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "94. Binary Tree Inorder Traversal", "94. Binary Tree Inorder Traversal\94. Binary Tree Inorder Traversal.csproj", "{60E8258E-4BBC-42C7-96CD-C67DB629E0E1}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "145. Binary Tree Postorder Traversal", "145. Binary Tree Postorder Traversal\145. Binary Tree Postorder Traversal.csproj", "{6E954C2F-608C-4294-91CF-62B8E49CC415}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "145. Binary Tree Postorder Traversal", "145. Binary Tree Postorder Traversal\145. Binary Tree Postorder Traversal.csproj", "{6E954C2F-608C-4294-91CF-62B8E49CC415}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "509. Fibonacci Number", "509. Fibonacci Number\509. Fibonacci Number.csproj", "{73450FFA-253B-42CC-B5E7-8769CFF1BE96}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "509. Fibonacci Number", "509. Fibonacci Number\509. Fibonacci Number.csproj", "{73450FFA-253B-42CC-B5E7-8769CFF1BE96}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "70. Climbing Stairs", "70. Climbing Stairs\70. Climbing Stairs.csproj", "{625340C0-FC67-4555-B49F-FB28E3177F72}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "70. Climbing Stairs", "70. Climbing Stairs\70. Climbing Stairs.csproj", "{625340C0-FC67-4555-B49F-FB28E3177F72}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "746. Min Cost Climbing Stairs", "746. Min Cost Climbing Stairs\746. Min Cost Climbing Stairs.csproj", "{624EA332-8762-4EE9-AD73-617AEFD359DF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "62. Unique Paths", "62. Unique Paths\62. Unique Paths.csproj", "{00701676-F5C4-4368-B09F-2CFB65E899D9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "104. Maximum Depth of Binary Tree", "104. Maximum Depth of Binary Tree\104. Maximum Depth of Binary Tree.csproj", "{35BDD2F1-D1A7-45BD-A335-1315E3EC45E8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "438. Find All Anagrams in a String", "438. Find All Anagrams in a String\438. Find All Anagrams in a String.csproj", "{E7DE4A8E-1D9A-4BF6-8E64-FB160233FA36}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "424. Longest Repeating Character Replacement", "424. Longest Repeating Character Replacement\424. Longest Repeating Character Replacement.csproj", "{CBCDA63E-A784-44B6-89E8-EEB650D04F14}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "226. Invert Binary Tree", "226. Invert Binary Tree\226. Invert Binary Tree.csproj", "{5ACA65D5-C137-4F12-B371-38BC72C826D0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "112. Path Sum", "112. Path Sum\112. Path Sum.csproj", "{82B65579-1A16-4BE6-965B-40C70C6116F0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "101. Symmetric Tree", "101. Symmetric Tree\101. Symmetric Tree.csproj", "{5F3B8ABB-CADF-49D4-87E6-84D9853F18C9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "542. 01 Matrix", "542. 01 Matrix\542. 01 Matrix.csproj", "{A8925C2A-E733-43BD-A2B0-5F7E6E447573}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "299. Bulls and Cows", "299. Bulls and Cows\299. Bulls and Cows.csproj", "{A06F4EAA-D75E-45E3-86CD-D300A23950EE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "700. Search in a Binary Search Tree", "700. Search in a Binary Search Tree\700. Search in a Binary Search Tree.csproj", "{DE3D5D2E-81A3-498F-8A26-24893357989A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "46. Permutations", "46. Permutations\46. Permutations.csproj", "{2AAC90C3-3492-432A-A90B-C69558B87D3A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "77. Combinations", "77. Combinations\77. Combinations.csproj", "{138291FD-7147-4D1A-82E1-11B11432B186}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "784. Letter Case Permutation", "784. Letter Case Permutation\784. Letter Case Permutation.csproj", "{F79E4D6B-0186-4AAE-81DD-7AE3141761B3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "701. Insert into a Binary Search Tree", "701. Insert into a Binary Search Tree\701. Insert into a Binary Search Tree.csproj", "{346526B1-7E14-40AF-856D-E1960B82F21C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "994. Rotting Oranges", "994. Rotting Oranges\994. Rotting Oranges.csproj", "{CF353DBF-11A5-424C-AEF2-3D3109EFB357}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "231. Power of Two", "231. Power of Two\231. Power of Two.csproj", "{460D068B-1EB2-4A5E-8553-5ADB6BDEED75}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "198. House Robber", "198. House Robber\198. House Robber.csproj", "{2485479A-78CE-4912-8ADA-F11676C9CE2C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "190. Reverse Bits", "190. Reverse Bits\190. Reverse Bits.csproj", "{12AE150A-0296-4057-9BBF-F9AEC37838E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "136. Single Number", "136. Single Number\136. Single Number.csproj", "{D63C897B-C5EB-4C18-9091-A309E84EB471}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "191. Number of 1 Bits", "191. Number of 1 Bits\191. Number of 1 Bits.csproj", "{6950BC7E-2DB5-4DBF-9C2C-B331F9ED99DB}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -333,6 +375,90 @@ Global
{625340C0-FC67-4555-B49F-FB28E3177F72}.Debug|Any CPU.Build.0 = Debug|Any CPU {625340C0-FC67-4555-B49F-FB28E3177F72}.Debug|Any CPU.Build.0 = Debug|Any CPU
{625340C0-FC67-4555-B49F-FB28E3177F72}.Release|Any CPU.ActiveCfg = Release|Any CPU {625340C0-FC67-4555-B49F-FB28E3177F72}.Release|Any CPU.ActiveCfg = Release|Any CPU
{625340C0-FC67-4555-B49F-FB28E3177F72}.Release|Any CPU.Build.0 = Release|Any CPU {625340C0-FC67-4555-B49F-FB28E3177F72}.Release|Any CPU.Build.0 = Release|Any CPU
{624EA332-8762-4EE9-AD73-617AEFD359DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{624EA332-8762-4EE9-AD73-617AEFD359DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{624EA332-8762-4EE9-AD73-617AEFD359DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{624EA332-8762-4EE9-AD73-617AEFD359DF}.Release|Any CPU.Build.0 = Release|Any CPU
{00701676-F5C4-4368-B09F-2CFB65E899D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{00701676-F5C4-4368-B09F-2CFB65E899D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{00701676-F5C4-4368-B09F-2CFB65E899D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{00701676-F5C4-4368-B09F-2CFB65E899D9}.Release|Any CPU.Build.0 = Release|Any CPU
{35BDD2F1-D1A7-45BD-A335-1315E3EC45E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35BDD2F1-D1A7-45BD-A335-1315E3EC45E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35BDD2F1-D1A7-45BD-A335-1315E3EC45E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{35BDD2F1-D1A7-45BD-A335-1315E3EC45E8}.Release|Any CPU.Build.0 = Release|Any CPU
{E7DE4A8E-1D9A-4BF6-8E64-FB160233FA36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7DE4A8E-1D9A-4BF6-8E64-FB160233FA36}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7DE4A8E-1D9A-4BF6-8E64-FB160233FA36}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7DE4A8E-1D9A-4BF6-8E64-FB160233FA36}.Release|Any CPU.Build.0 = Release|Any CPU
{CBCDA63E-A784-44B6-89E8-EEB650D04F14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CBCDA63E-A784-44B6-89E8-EEB650D04F14}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CBCDA63E-A784-44B6-89E8-EEB650D04F14}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CBCDA63E-A784-44B6-89E8-EEB650D04F14}.Release|Any CPU.Build.0 = Release|Any CPU
{5ACA65D5-C137-4F12-B371-38BC72C826D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5ACA65D5-C137-4F12-B371-38BC72C826D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5ACA65D5-C137-4F12-B371-38BC72C826D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5ACA65D5-C137-4F12-B371-38BC72C826D0}.Release|Any CPU.Build.0 = Release|Any CPU
{82B65579-1A16-4BE6-965B-40C70C6116F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{82B65579-1A16-4BE6-965B-40C70C6116F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{82B65579-1A16-4BE6-965B-40C70C6116F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{82B65579-1A16-4BE6-965B-40C70C6116F0}.Release|Any CPU.Build.0 = Release|Any CPU
{5F3B8ABB-CADF-49D4-87E6-84D9853F18C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F3B8ABB-CADF-49D4-87E6-84D9853F18C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F3B8ABB-CADF-49D4-87E6-84D9853F18C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F3B8ABB-CADF-49D4-87E6-84D9853F18C9}.Release|Any CPU.Build.0 = Release|Any CPU
{A8925C2A-E733-43BD-A2B0-5F7E6E447573}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A8925C2A-E733-43BD-A2B0-5F7E6E447573}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A8925C2A-E733-43BD-A2B0-5F7E6E447573}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A8925C2A-E733-43BD-A2B0-5F7E6E447573}.Release|Any CPU.Build.0 = Release|Any CPU
{A06F4EAA-D75E-45E3-86CD-D300A23950EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A06F4EAA-D75E-45E3-86CD-D300A23950EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A06F4EAA-D75E-45E3-86CD-D300A23950EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A06F4EAA-D75E-45E3-86CD-D300A23950EE}.Release|Any CPU.Build.0 = Release|Any CPU
{DE3D5D2E-81A3-498F-8A26-24893357989A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DE3D5D2E-81A3-498F-8A26-24893357989A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DE3D5D2E-81A3-498F-8A26-24893357989A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DE3D5D2E-81A3-498F-8A26-24893357989A}.Release|Any CPU.Build.0 = Release|Any CPU
{2AAC90C3-3492-432A-A90B-C69558B87D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2AAC90C3-3492-432A-A90B-C69558B87D3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2AAC90C3-3492-432A-A90B-C69558B87D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2AAC90C3-3492-432A-A90B-C69558B87D3A}.Release|Any CPU.Build.0 = Release|Any CPU
{138291FD-7147-4D1A-82E1-11B11432B186}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{138291FD-7147-4D1A-82E1-11B11432B186}.Debug|Any CPU.Build.0 = Debug|Any CPU
{138291FD-7147-4D1A-82E1-11B11432B186}.Release|Any CPU.ActiveCfg = Release|Any CPU
{138291FD-7147-4D1A-82E1-11B11432B186}.Release|Any CPU.Build.0 = Release|Any CPU
{F79E4D6B-0186-4AAE-81DD-7AE3141761B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F79E4D6B-0186-4AAE-81DD-7AE3141761B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F79E4D6B-0186-4AAE-81DD-7AE3141761B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F79E4D6B-0186-4AAE-81DD-7AE3141761B3}.Release|Any CPU.Build.0 = Release|Any CPU
{346526B1-7E14-40AF-856D-E1960B82F21C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{346526B1-7E14-40AF-856D-E1960B82F21C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{346526B1-7E14-40AF-856D-E1960B82F21C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{346526B1-7E14-40AF-856D-E1960B82F21C}.Release|Any CPU.Build.0 = Release|Any CPU
{CF353DBF-11A5-424C-AEF2-3D3109EFB357}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CF353DBF-11A5-424C-AEF2-3D3109EFB357}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CF353DBF-11A5-424C-AEF2-3D3109EFB357}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CF353DBF-11A5-424C-AEF2-3D3109EFB357}.Release|Any CPU.Build.0 = Release|Any CPU
{460D068B-1EB2-4A5E-8553-5ADB6BDEED75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{460D068B-1EB2-4A5E-8553-5ADB6BDEED75}.Debug|Any CPU.Build.0 = Debug|Any CPU
{460D068B-1EB2-4A5E-8553-5ADB6BDEED75}.Release|Any CPU.ActiveCfg = Release|Any CPU
{460D068B-1EB2-4A5E-8553-5ADB6BDEED75}.Release|Any CPU.Build.0 = Release|Any CPU
{2485479A-78CE-4912-8ADA-F11676C9CE2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2485479A-78CE-4912-8ADA-F11676C9CE2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2485479A-78CE-4912-8ADA-F11676C9CE2C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2485479A-78CE-4912-8ADA-F11676C9CE2C}.Release|Any CPU.Build.0 = Release|Any CPU
{12AE150A-0296-4057-9BBF-F9AEC37838E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12AE150A-0296-4057-9BBF-F9AEC37838E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12AE150A-0296-4057-9BBF-F9AEC37838E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12AE150A-0296-4057-9BBF-F9AEC37838E9}.Release|Any CPU.Build.0 = Release|Any CPU
{D63C897B-C5EB-4C18-9091-A309E84EB471}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D63C897B-C5EB-4C18-9091-A309E84EB471}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D63C897B-C5EB-4C18-9091-A309E84EB471}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D63C897B-C5EB-4C18-9091-A309E84EB471}.Release|Any CPU.Build.0 = Release|Any CPU
{6950BC7E-2DB5-4DBF-9C2C-B331F9ED99DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6950BC7E-2DB5-4DBF-9C2C-B331F9ED99DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6950BC7E-2DB5-4DBF-9C2C-B331F9ED99DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6950BC7E-2DB5-4DBF-9C2C-B331F9ED99DB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE