// Function to find smallest window containing
        // all characters of 'pat'
        public String FindSubString(String str)
        {
            HashSet <char> found = new HashSet <char>();
            StringBuilder  sb    = new StringBuilder();

            foreach (var c in str)
            {
                if (!found.Contains(c))
                {
                    found.Add(c);
                    sb.Append(c);
                }
            }

            SmallestWindowContainingAllCharsOfString smallest = new SmallestWindowContainingAllCharsOfString();
            String result = smallest.FindSubString(str, sb.ToString());

            return(result);
        }
 public void Init()
 {
     item = new SmallestWindowContainingAllCharsOfString();
 }