Exemple #1
0
        public void DistinctElements()
        {
            var result = new RandomProblems()
                         .DistinctElements(3, 10, new int[] { 1, 2, 3, 3, 4, 4, 5, 5, 6, 6 }.ToList());

            Assert.AreEqual(result, 4);
        }
Exemple #2
0
        public void BalanceAmount()
        {
            // var result = new RandomProblems().BalanceAmount(new int[]{2,3,5,10},10,0, new Dictionary<string, long>());
            var result = new RandomProblems().BalanceAmount(new int[] { 1, 2 }, 3, 0, new Dictionary <string, long>());

            Assert.AreEqual(result, 2);
        }
Exemple #3
0
        public void TicketBuyers_Test()
        {
            var turns = new RandomProblems().TicketBuyersQueue(new int[] { 5, 5, 2, 3 }, 3);

            Assert.AreEqual(11, turns);

            turns = new RandomProblems().TicketBuyersQueue(new int[] { 2, 6, 3, 4, 5 }, 2);
            Assert.AreEqual(12, turns);
        }
Exemple #4
0
        public void XSeries_Test()
        {
            var str     = "11, 5, 19, 2, 8, 3, 4";
            var input   = str.Split(',').Select(Int32.Parse).ToList();
            var result  = new RandomProblems().XSeries(input);
            var r       = String.Join(',', result);
            var result1 = new RandomProblems().XSeries(new List <int> {
                67, 32, 1
            });

            //new RandomProblems ().XSeries (new List<int> { 1, 2, 3, 3, 2 ,4});
            //var result = new RandomProblems ().XSeries (new List<int> { 1,2,3 });
            //Assert.IsTrue (true);
        }
Exemple #5
0
        public void MaximizeProfit_Test()
        {
            RandomProblems r      = new RandomProblems();
            long           result = 0;

            // result = r.MaximizeProfit (new int[] { 10, 100, 20, 30, 40, 50 });
            // Console.WriteLine (result);
            // Assert.AreEqual (result, 120);
            // result = r.MaximizeProfit (new int[] { 30, 42, 25, 85, 100, 70, 110 });
            // Console.WriteLine (result);
            // Assert.AreEqual (result, 127);
            result = r.MaximizeProfit(new int[] { 5, 10, 8, 30, 25, 35, 10, 50 });
            Console.WriteLine(result);
            Assert.AreEqual(result, 75);
        }
Exemple #6
0
        public void Fib_Memo_Test()
        {
            long n = 8;

            long?[] memo = new long?[n + 1];
            memo[0] = 1;
            memo[1] = 1;
            for (int i = 1; i < memo.Length; i++)
            {
                memo[i] = null;
            }
            var result = new RandomProblems().Fib_Memo(8, memo);

            Assert.AreEqual(21, result);
        }
Exemple #7
0
        public void BuyChocolates_Test()
        {
            // var n = Convert.ToInt64 (Console.ReadLine ());
            // var c = Console.ReadLine ().Split (',');

            // Dictionary<long, long> chocolates = new Dictionary<long, long> ();
            // for (long i = 0; i < c.Length; i++) {
            //     var s = c[i].Split (':');
            //     chocolates.Add (Convert.ToInt64 (s[2]), Convert.ToInt64 (s[1]));
            // }
            // var price = BuyChocolates (chocolates, n);
            // Console.WriteLine (price);

            SortedDictionary <int, int> chocolates = new SortedDictionary <int, int>
            {
                [30] = 2,
                [15] = 8
            };

            var price = new RandomProblems().BuyChocolates(chocolates, 5);

            Assert.AreEqual(75, price);
        }
Exemple #8
0
        public void IfPrime_Test()
        {
            var r = new RandomProblems().IfPrime(89);

            Assert.IsTrue(r);
        }
Exemple #9
0
        public void PrimFibI_Test()
        {
            var r = new RandomProblems().PrimFibISum(100, 90, 100);

            Assert.AreEqual(r, 0);
        }
Exemple #10
0
        public void FibI_Test()
        {
            var r = new RandomProblems().FibI(6);

            Assert.AreEqual(r, 5);
        }
Exemple #11
0
 public void CutRod_Test()
 {
     var s = RandomProblems.cutRod(new int[] { 1, 5, 8, 9, 10, 17, 17, 20 }, 8);
 }
Exemple #12
0
        public void DecodeMessage_Test()
        {
            var decode = new RandomProblems().DecodeMessage_R("123", 3);

            Assert.AreEqual(3, decode);
        }
Exemple #13
0
        private static void ExistingCases()
        {
            Console.WriteLine("This is DB practice session..");
            Console.WriteLine("Press 1 for Binary search tree");
            Console.WriteLine("Press 2 for two sum problem");
            Console.WriteLine("Press 3 for Maximum Area Cake problem");
            Console.WriteLine("Press 4 for Find Inflection point.");
            Console.WriteLine("Press 5 for Max heap.");
            Console.WriteLine("Press 6 for Longest substring.");
            Console.WriteLine("Press 7 for Reverse linked list.");
            Console.WriteLine("Press 8 for Reverse linked list.");

            int option = 5;

            switch (option)
            {
            case 1:
                BinarySearchOperations();
                break;

            case 2:
                RandomProblems.TwoSumProblem();
                break;

            case 3:
                MaximumAreaCake.MaximumAreaCakeCaller();
                break;

            case 4:
                CodeFindInflectionPoint.FindInflectionPoint();
                break;

            case 5:
                MaxHeap.Test();
                break;

            case 6:
                LongestSubstring.Test();
                break;

            case 7:
                ReverseListSolution.Test();
                break;

            case 8:
                SlidingWindows.Test();
                break;

            case 9:
                SlowAndFastPointers.Tests();
                break;

            case 10:
                CyclicSort.Tests();
                break;

            case 11:
                FastAndSlowPointers.Tests();
                break;

            case 12:
                MergeIntervals.Tests();
                break;

            default:
                break;
            }
        }