leetcode算法题numberone

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

1
2
3
4
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

我的方案如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// NSMutableArray *integerArray = [NSMutableArray arrayWithArray:@[@0,@2,@3,@4,@5,@6,@7,@9]];
NSMutableArray *integerArray = [NSMutableArray arrayWithArray:@[@2,@7,@11,@5]];
NSInteger target = 9;
NSMutableArray *resultIndexArray = [NSMutableArray arrayWithCapacity:1];
TICK(resultIndexArray)
for (NSInteger i = 0; i < integerArray.count; i ++) {
NSInteger pre = [[integerArray objectAtIndex:i] integerValue];
for (NSInteger j = (i + 1); j < (integerArray.count); j ++) {
NSInteger next = [[integerArray objectAtIndex:j] integerValue];
if ((pre + next) == target) {
[resultIndexArray addObject:[NSArray arrayWithObjects:@(i),@(j), nil]];
}
}
}
TOCK(resultIndexArray)
NSLog(@"resultIndexArray : %@",resultIndexArray);
}

暂时未在 LeedCode 验证