最近面试,遇到这样的一个问题
把以下的字符串排序
a1 b2 a22 a11 a21 c10 a23 a33 a30 a31 a32 排成以下的顺序
a1 b2 c10 a11 a21 a22 a23 a30 a31 a32 a33 各位大神,请指教
第一次发帖,有什么不好的请见谅!
把以下的字符串排序
a1 b2 a22 a11 a21 c10 a23 a33 a30 a31 a32 排成以下的顺序
a1 b2 c10 a11 a21 a22 a23 a30 a31 a32 a33 各位大神,请指教
第一次发帖,有什么不好的请见谅!
解决方案 »
- IAP 从 itunes里面得到的item 为0
- ad hoc 上架也要通过 https://itunesconnect.apple.com填写一大堆app的信息?
- 想要成为iOS 架构师的得看看这个!
- 这个怎么实现,求给个思路或代码参考
- ios编程可以使用pthread库吗?
- 模拟器里怎样安装app store上下载的app
- windows下用什么开发软件编译objective-C
- tableview的批量操作
- 请问如何用iOS设备连接键盘并传输数据呢?
- iOS 怎么改变webview内部一个链接的头部信息??
- 如何在ios里面使用libyuv
- xcode模拟器没法启动 提示Unable to boot the simulator的问题
不考虑性能,只实现结果,可以用我这个方法 NSString *str = @"a1 b2 a22 a11 a21 c10 a23 a33 a30 a31 a32";
NSArray *originArray = [str componentsSeparatedByString:@" "];
NSMutableArray *numAr = [[NSMutableArray alloc] initWithCapacity:originArray.count];
[originArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSString *s = (NSString *)obj;
NSString *subs = [s substringFromIndex:1];
NSDictionary *dict =@{@"index":[@(idx) stringValue],@"value":@([subs intValue])};
[numAr addObject:dict];
}];
NSSortDescriptor *sorter = [[NSSortDescriptor alloc] initWithKey:@"value" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:&sorter count:1];
NSArray *tempArray = [numAr sortedArrayUsingDescriptors:sortDescriptors];
NSMutableArray *sortedArray = [[NSMutableArray alloc] initWithCapacity:originArray.count];
[tempArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSDictionary *dict = (NSDictionary *)obj;
int index = [dict[@"index"] intValue];
NSString *str = originArray[index];
[sortedArray addObject:str];
}];
NSLog(@"%@",sortedArray);运行结果:
2016-10-09 23:38:35.594 temp[19198:244055] (
a1,
b2,
c10,
a11,
a21,
a22,
a23,
a30,
a31,
a32,
a33
)