1. 两数之和

题目如下:

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

Object-C解法如下

/**
 求两个数的和
 */
- (void)sums {
    NSInteger  target = 29;
    NSArray * nums = @[@(2),@(5),@(17),@(27),@(37),@(47),@(57)];
    NSMutableDictionary  * map = [NSMutableDictionary new];
    
    for (NSInteger indexTag = 0; indexTag < nums.count; indexTag++) {
        NSInteger complemet = target - [nums[indexTag] integerValue];
        if ([map.allKeys containsObject:@(complemet)]) {
            NSLog(@"---->fromindex:%@",[map objectForKey:@(complemet)]);
            NSLog(@"---->toindex:%ld",indexTag);
        }
        [map setObject:@(indexTag) forKey:nums[indexTag]];
    }
}
  • 欢迎各位一块学习,提高逼格!
  • 也可以添加洲洲哥的微信公众号

可以来微信公众号(洲洲哥)后台给我留言。 快来扫码关注我们吧!

1. 两数之和_第1张图片
公众号二维码

你可能感兴趣的:(1. 两数之和)