Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,990 questions

51,935 answers

573 users

How to print the characters need to be removed so that two strings become anagram in Swift

2 Answers

0 votes
import Foundation

func printCharactersNeedToBeRemovedForAnagram(_ str1: String, _ str2: String) {
    var charCounts = [Character: Int]()

    // Count character frequencies in both strings
    for ch in str1 + str2 {
        charCounts[ch, default: 0] += 1
    }

    // Print characters with odd counts (not forming pairs)
    for (ch, count) in charCounts {
        if count % 2 != 0 {
            print(ch, terminator: " ")
        }
    }
}

let str1 = "masterfx"
let str2 = "ksampret"

printCharactersNeedToBeRemovedForAnagram(str1, str2)



/*
run:

x p k f 

*/

 



answered Nov 30, 2024 by avibootz
0 votes
import Foundation

let TotalABCLetters = 26

func printCharactersNeedToBeRemovedForAnagram(_ str1: String, _ str2: String) {
    var count1 = [Int](repeating: 0, count: TotalABCLetters)
    var count2 = [Int](repeating: 0, count: TotalABCLetters)
    
    // count char frequency str1
    for char in str1 {
        if let index = char.asciiValue {
            count1[Int(index) - Int(Character("a").asciiValue!)] += 1
        }
    }
    
    // count char frequency str2
    for char in str2 {
        if let index = char.asciiValue {
            count2[Int(index) - Int(Character("a").asciiValue!)] += 1
        }
    }
    
    for i in 0..<TotalABCLetters {
        if abs(count1[i] - count2[i]) > 0 {
            print(Character(UnicodeScalar(i + Int(Character("a").asciiValue!))!), terminator: " ")
        }
    }
}

let str1 = "masterfx"
let str2 = "ksampret"

printCharactersNeedToBeRemovedForAnagram(str1, str2)




/*
run:

f k p x 

*/

 



answered Nov 30, 2024 by avibootz
...