1.两数之和

1.两数之和

在这里插入图片描述
暴力解法:方法简单但是时间复杂度为O(n^2),空间复杂度为O(1);运行速度慢且内存空间消耗大
在这里插入图片描述
返回数组要动态分配内存。malloc是c语言中的动态分配内存,res=(int*)malloc(sizeof(int)2);malloc函数返回的是void型,所以要强制类型转换成int*,在前面加上(int *),才能给整型赋值。j=i+1是因为不能重复利用数组的元素。函数中参数returnSize是返回数组的长度,固定为2。
在这里插入图片描述
返回值return{i,j},返回类型为vector,用的是列表初始化返回值。向量可以直接用数组的方式[]用下标访问。
两遍哈希表:
该方法用map实现,map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力
在这里插入图片描述
一遍哈希表
在进行迭代并将元素插入到表中的同时,我们还会回过头来检查表中是否已经存在当前元素所对应的目标元素。如果它存在,那我们已经找到了对应解,并立即将其返回。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值