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

1 Answer

0 votes
import Foundation

func canConstruct(_ str: String, _ anotherStr: String) -> Bool {
    // ASCII frequency table
    var freq = Array(repeating: 0, count: 256)

    // Count characters in anotherStr
    for ch in anotherStr.utf8 {
        freq[Int(ch)] += 1
    }

    // Check if str can be constructed
    for ch in str.utf8 {
        let idx = Int(ch)
        freq[idx] -= 1
        if freq[idx] < 0 {
            return false
        }
    }

    return true
}

let str = "hello"
let anotherStr = "olehhlxyz"

print(canConstruct(str, anotherStr))



/*
run:

true

*/

 



answered Jan 5 by avibootz

Related questions

...