object-C 解答算法:两数之和(leetCode-1)

两数之和(leetCode-1)

题目如下图:(也可以到leetCode上看完整题目,题号1)

解答方法一:

最简单的方法就是双指针遍历数组.代码如下

- (NSMutableArray *)sumOfTwoNumbers:(NSMutableArray *)array target:(int)target
{
    NSMutableArray * resultArray = [[NSMutableArray alloc]init];
  
    for (int i = 0; i < array.count; i ++) //这里其实可以写i< array.cout-1;
    {
        for (int j = i +1; j < array.count; j ++)
        {
            if ([array[i] intValue] + [array[j] intValue] == target)
            {
                resultArray[0] =  [NSString stringWithFormat:@"%d",i];
                resultArray[1] =  [NSString stringWithFormat:@"%d",j];
                
                //题干写了必有且只有一个答案,所以不判断其余情况了
                return resultArray;;
            }
        }
    }
    
    return resultArray;
}

一般双指针循环的时间复杂度比较大,我们来算一个上面代码的时间复杂度为:

n+(n-1)+(n-2)+……1, 是一个等差数列,所以根据等差数列求和公式:Sn =  n/2 x (1+n), 结果为二分之n的平方,

根据大O渐近表示法;二分之一可以忽略,所以这个方法的时间复杂度为 n的平方.

(PS:大多数的双指针循环时间复杂度都为 n的平方)

这个运行时间比较长,所以不太推荐.

相关推荐

  1. LeetCode1 C语言

    2024-07-16 05:56:02       30 阅读
  2. leetcode回忆-1之和

    2024-07-16 05:56:02       26 阅读
  3. LeetCode 1. 之和

    2024-07-16 05:56:02       80 阅读
  4. leetcode 1之和

    2024-07-16 05:56:02       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 05:56:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 05:56:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 05:56:02       57 阅读
  4. Python语言-面向对象

    2024-07-16 05:56:02       68 阅读

热门阅读

  1. Go:函数

    2024-07-16 05:56:02       21 阅读
  2. 在Delphi中使用ATTACH语句合并SQLite数据库

    2024-07-16 05:56:02       21 阅读
  3. Log4j2原理及应用详解(二)

    2024-07-16 05:56:02       20 阅读
  4. 在Ubuntu 18.04上安装和保护phpMyAdmin的方法

    2024-07-16 05:56:02       22 阅读
  5. 66.函数指针和回调函数

    2024-07-16 05:56:02       23 阅读
  6. MySQL第七次作业

    2024-07-16 05:56:02       24 阅读
  7. 机器学习与神经网络之间的关系 --九五小庞

    2024-07-16 05:56:02       22 阅读
  8. 面试题011-数据库-MySQL(事物+锁)

    2024-07-16 05:56:02       31 阅读
  9. Makefile 自动化变量以及模式匹配

    2024-07-16 05:56:02       25 阅读
  10. 云原生、Serverless、微服务概念

    2024-07-16 05:56:02       30 阅读
  11. x264 编码过程中视频相关数据流转分析

    2024-07-16 05:56:02       23 阅读
  12. Spring 如何解决循环依赖问题

    2024-07-16 05:56:02       26 阅读
  13. Python小工具—txt转excel和word

    2024-07-16 05:56:02       21 阅读
  14. Matplotlib库学习之mpl_toolkits.mplot3d.Axes3D函数

    2024-07-16 05:56:02       27 阅读