(1)遍历字符串,得到字符对应个数字典
- NSString *testStr = @"ffcnasjjkasjknkjasdjfkjdsakhjgakjkasnjkfnsjknkjnaj";
- NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
- for (int i = 0; i < testStr.length; i ++) {
- NSString *str = [testStr substringWithRange:NSMakeRange(i,1)];
- if ([dic objectForKey:str] == nil) {
- [dic setObject:@"1" forKey:str];
- }else {
- [dic setObject:[NSString stringWithFormat:@"%d", [[dic objectForKey:str] intValue]+1 ] forKey:str];
- }
- }
- NSMutableArray *array1 = [[NSMutableArray alloc]init]; //key
- NSMutableArray *array2 = [[NSMutableArray alloc]init]; //value
- for (NSString *str in [dic allKeys]) {
- [array1 addObject:str];
- [array2 addObject:[dic objectForKey:str]];
- }
(3)得到最大value,并根据array2的index得到其对应的key
- int MaxValue=[[array2 objectAtIndex:0] intValue];
- int maxIndex = 0;
- for (int i=1; i< [array2 count]; i++) {
- if ([[array2 objectAtIndex:i] intValue] > MaxValue) {
- MaxValue =[[array2 objectAtIndex:i] intValue];
- maxIndex = i;
- }
- }
- NSString *key = [array1 objectAtIndex:maxIndex];
- NSString *value = [array2 objectAtIndex:maxIndex];
- DLog(@"\n数量最多的字符为%@,%@个。",key,value);