public void SearchTest()
        {
            PalindromePartitioning l = new PalindromePartitioning();


            var x = l.Partition("aab");
        }
Пример #2
0
        public void TestCase2()
        {
            int x = 10;

            int reverseNumber = 0;
            int i             = 0;

            while (x > 0)
            {
                int reminder = x % 10;
                x              = x / 10;
                reverseNumber += Convert.ToInt32((reminder == 0 && i != 0 ? 1 : reminder) * Math.Pow(10, i++));
            }


            var p      = new PalindromePartitioning();
            var result = p.Partition("bb");

            Assert.AreEqual(new List <string> {
                "bb"
            }, result[1]);
            Assert.AreEqual(new List <string> {
                "b", "b"
            }, result[0]);

            result = p.Partition("fff");
            Assert.NotNull(result.Single(s => s.SequenceEqual(new List <string> {
                "f", "f", "f"
            })));
            Assert.NotNull(result.Single(s => s.SequenceEqual(new List <string> {
                "ff", "f"
            })));
            Assert.NotNull(result.Single(s => s.SequenceEqual(new List <string> {
                "f", "ff"
            })));
            Assert.NotNull(result.Single(s => s.SequenceEqual(new List <string> {
                "fff"
            })));

            result = p.Partition("aab");
            Assert.AreEqual("a", result[0][0]);
            Assert.AreEqual("a", result[0][1]);
            Assert.AreEqual("b", result[0][2]);
            Assert.AreEqual("aa", result[1][0]);
            Assert.AreEqual("b", result[1][1]);

            result = p.Partition("abcbm");
            Assert.AreEqual("a", result[0][0]);
            Assert.AreEqual("b", result[0][1]);
            Assert.AreEqual("c", result[0][2]);
            Assert.AreEqual("b", result[0][3]);
            Assert.AreEqual("m", result[0][4]);

            Assert.AreEqual("a", result[1][0]);
            Assert.AreEqual("bcb", result[1][1]);
            Assert.AreEqual("m", result[1][2]);
        }
Пример #3
0
        public void TestPalindromPartitioning()
        {
            var r = PalindromePartitioning.Partition("aab");

            Assert.AreEqual(r.Count, 2);

            r = PalindromePartitioning.Partition("abcdcbabcd");
            Assert.AreEqual(r.Count, 8);
        }
Пример #4
0
        public void TestPalindromPartitioning_mincuts()
        {
            var r = PalindromePartitioning.Partition_mincuts("ab");

            Assert.AreEqual(r, 1);

            r = PalindromePartitioning.Partition_mincuts("abcdcbabcd");
            Assert.AreEqual(r, 3);


            r = PalindromePartitioning.Partition_mincuts_fromheadtoend("kabcdcbabcd");
            Assert.AreEqual(r, 4);

            r = PalindromePartitioning.Partition_mincuts_fromheadtoend("kabccbakdbcbd");
            Assert.AreEqual(r, 1);
        }
        public void Test1()
        {
            var sol      = new PalindromePartitioning();
            var res      = sol.Partition("abba");
            var expected =
                new List <IList <string> >()
            {
                new List <string>()
                {
                    "a", "b", "b", "a"
                }, new List <string>()
                {
                    "a", "bb", "a"
                }, new List <string>()
                {
                    "abba"
                }
            };

            Utlilitiy.AssertAreEqual(expected, res);
        }