美文网首页
OC算法-两数之和

OC算法-两数之和

作者: 丁勒个东 | 来源:发表于2020-07-29 12:06 被阅读0次

题目

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

示例:

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

题解:

1,暴力法
暴力法很简单,遍历每个元素 x,并查找是否存在一个值与 target - x相等的目标元素。

+(NSArray*)violenceTwoSum:(NSArray*)nums target:(int)target{
    for (int i = 0 ; i < nums.count ; i ++) {
        int n = [nums[i] intValue];
        for (int j = i + 1; j< nums.count ; j ++) {
            if ([nums[j] intValue] == target - n) {
                return @[nums[i],nums[j]];
            }
        }
    }
    return nil;
}

2,hashMap
遍历每个元素x,并查找在map中是否有key为x的键值对,如果有则将键值对返回,如果没有,则将target - x最为key,x作为value保存在map中.
简单点理解,就是两个人配对,x先在公告栏map上看有没有找自己的,如果有就建立配对,如果没有就写上目标以及自己的联系方式{target - x:x},当自己的目标查看公告栏时,就可以直接找到自己.

+(NSArray*)hashTwoSum:(NSArray*)nums target:(int)target{
    NSMutableDictionary *map = [[NSMutableDictionary alloc]init];
    for (int i = 0; i < nums.count; i++) {
        NSNumber *n = nums[i];
        if (map[n]) {
            return @[n,map[n]];
        }else{
            NSNumber *m = @(target - [n intValue]);
            map[m] = n;
        }
    }
    return nil;
}

相关文章

  • OC算法-两数之和

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

  • 「算法」两数之和 & 两数之和 II

    00001 两数之和 题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只...

  • 算法:两数之和

    给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重...

  • 算法-两数之和

    这是一道LeetCode上的问题,详见两数之和,难度标注是简单,但是我思考到了一些比较复杂的情况,之后我会修改题目...

  • 算法--两数之和

    问题描述: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样...

  • 算法「两数之和」

    题目:给出数组nums和目标值target,找出和为目标值的两个数在数组中 想法:定义数组和目标值,遍历数组x使得...

  • 算法-两数之和

    算法对于程序的重要性不言而喻,所以从今天开始要一点一滴地积累自己的算法知识,同时也要充分地利用使用的程序语言所提供...

  • 算法:两数之和

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

  • 算法----两数之和

    给定一个数组,一个目标值,请在数组中找到和为目标值的两个数字,并返回他们的数组下标。 你可以假设每种输入只会对应一...

  • 算法——两数之和

    找出数组中两数之和等于目标数的下标 1、建一个桶,桶里key是没有找到差值的元素,value是它的index;2、...

网友评论

      本文标题:OC算法-两数之和

      本文链接:https://www.haomeiwen.com/subject/uukhrktx.html