Ejemplo n.º 1
0
        public void TestSingle()
        {
            var s      = "A";
            var p      = new int[] { 0 };
            var q      = new int[] { 0 };
            var result = PrefixSums.solution(s, p, q);

            Assert.AreEqual(new int[] { 1 }, result);
        }
Ejemplo n.º 2
0
        public void TestSingle1()
        {
            var s      = "TC";
            var p      = new int[] { 0, 0, 1 };
            var q      = new int[] { 0, 1, 1 };
            var result = PrefixSums.solution(s, p, q);

            Assert.AreEqual(new int[] { 4, 2, 2 }, result);
        }
Ejemplo n.º 3
0
        public void TestExample()
        {
            var s      = "CAGCCTA";
            var p      = new int[] { 2, 5, 0 };
            var q      = new int[] { 4, 5, 6 };
            var result = PrefixSums.solution(s, p, q);

            Assert.AreEqual(result, new int[] { 2, 4, 1 });
        }
Ejemplo n.º 4
0
        public void TestAlmostAllSame()
        {
            var p        = new int[49999];
            var q        = new int[49999];
            var expected = new int[49999];
            var s1       = new StringBuilder();

            for (var i = 0; i < 100000; i++)
            {
                s1.Append(i % 100 == 0 ? "A" : "G");
            }
            for (var x = 0; x < 49999; x++)
            {
                p[x]        = 0;
                q[x]        = 99999;
                expected[x] = 1;
            }

            var result = PrefixSums.solution(s1.ToString(), p, q);

            Assert.AreEqual(result, expected);
        }