私はObjectiveCのキャラクターレベルでUNIONとINTERSECTIONをとるような要件があります。
"StringA"、 "StringB"
上記の文字列の(UNION)の場合の結果: "StringAB"上記の文字列の(交差)の場合の結果: "String"
どんな助けでもいただければ幸いです。
私はObjectiveCのキャラクターレベルでUNIONとINTERSECTIONをとるような要件があります。
"StringA"、 "StringB"
上記の文字列の(UNION)の場合の結果: "StringAB"上記の文字列の(交差)の場合の結果: "String"
どんな助けでもいただければ幸いです。
stackoverflowメンバーの助けを借りて、最終的に私はこれらの問題の解決策を得ました
交差点:
NSMutableSet *set1 = [NSMutableSet setWithArray: array1];
NSSet *set2 = [NSSet setWithArray: array2];
[set1 intersectSet: set2];
NSArray *resultArray = [set1 allObjects];
UNION:2つの文字列を連結し、その文字列から重複する文字を削除すると、最終的にUNIONが取得されます:)
SString *input = @"addbcddaa";
NSMutableSet *seenCharacters = [NSMutableSet set];
NSMutableString *result = [NSMutableString string];
[input enumerateSubstringsInRange:NSMakeRange(0, input.length) options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
if (![seenCharacters containsObject:substring]) {
[seenCharacters addObject:substring];
[result appendString:substring];
}
}];
NSLog(@"String with duplicate characters removed: %@", result);
NSLog(@"Sorted characters in input: %@", [seenCharacters.allObjects sortedArrayUsingSelector:@selector(compare:)]);
ありがとうございました!