已經(jīng)找工作很久了,簡歷就像是石沉大海,一點回音都沒有,今天下午收到一個回復(fù),內(nèi)容如下:
您好!麻煩您用任何熟悉的編程語言實現(xiàn)function versionCompare(v1, v2)(版本號比較)函數(shù)及測試用例。對任意軟件的版本號進行大小比較,輸入?yún)?shù)為兩個版本號(格式情況請自行考慮),目標(biāo)是做成庫給外部開發(fā)者用。不得使用現(xiàn)成的版本比較函數(shù)。重點考察各類情況處理。寫好后截圖給我們就行。
簡單理解后,是讓寫一個版本比較的函數(shù)。于是乎迅速碼code,便寫成了這樣的功能
// 方法調(diào)用
- (void)versionCompareFirst:(NSString *)first andVersionSecond: (NSString *)second
{
NSArray *versions1 = [first componentsSeparatedByString:@"."];
NSArray *versions2 = [second componentsSeparatedByString:@"."];
NSMutableArray *ver1Array = [NSMutableArray arrayWithArray:versions1];
NSMutableArray *ver2Array = [NSMutableArray arrayWithArray:versions2];
// 確定最大數(shù)組
NSInteger a = (ver1Array.count> ver2Array.count)?ver1Array.count : ver2Array.count;
// 補成相同位數(shù)數(shù)組
if (ver1Array.count < a) {
for(NSInteger j = ver1Array.count; j < a; j++)
{
[ver1Array addObject:@"0"];
}
}
else
{
for(NSInteger j = ver2Array.count; j < a; j++)
{
[ver2Array addObject:@"0"];
}
}
// 比較版本號
int result = [self compareArray1:ver1Array andArray2:ver2Array];
if(result == 1)
{
NSLog(@"V1 > V2");
}
else if (result == -1)
{
NSLog(@"V1 < V2");
}
else if (result ==0 )
{
NSLog(@"V1 = V2");
}
}
// 比較版本號
- (int)compareArray1:(NSMutableArray *)array1 andArray2:(NSMutableArray *)array2
{
for (int i = 0; i< array2.count; i++) {
NSInteger a = [[array1 objectAtIndex:i] integerValue];
NSInteger b = [[array2 objectAtIndex:i] integerValue];
if (a > b) {
return 1;
}
else if (a < b)
{
return -1;
}
}
return 0;
}
經(jīng)測試可用,顯示如下圖

于是感覺完成任務(wù)了,便發(fā)了過去,收到如下回復(fù)
