How to check if a string can be constructed by using the letters of another string in C#

1 Answer

0 votes
using System;

class Program
{
    static bool CanConstruct(string str, string anotherStr) {
        int[] freq = new int[256]; // ASCII frequency table

        // Count characters in anotherStr
        foreach (char ch in anotherStr) {
            freq[(int)ch]++;
        }

        // Check if str can be constructed
        foreach (char ch in str) {
            freq[(int)ch]--;
            if (freq[(int)ch] < 0)
                return false;
        }

        return true;
    }

    static void Main()
    {
        string str = "hello";
        string anotherStr = "olehhlxyz";

        Console.WriteLine(CanConstruct(str, anotherStr).ToString().ToLower());
    }
}



/*
run:

true

*/


 



answered Jan 5 by avibootz

Related questions

...