算法解题笔记

1.两数之和问题

描述:在一个数列中找出两个数使他们的和等于给定的值target。

除暴力外的一般思路:
1.哈希表法。遍历数列,对每个元素a[i]判定target-a[i]是否在哈希表中。O(n)
2.双指针法。要先将该数列排序。O(n)
拓展:
三数之和
求a[i]+a[j]+a[k]==target。一般来说,外层循环定住a[i],内层循环找两数和为target-a[i]。转化为两数之和问题。求a[j]+a[k]可哈希或双指针。O(n^2)
最接近的三数之和
leetcode[16],双指针。
四数之和
外层再加一个循环定住a[i],求a[j]+a[k]+a[l]==target-a[i],转化为三数之和问题。

全部评论

相关推荐

用户64975461947315:这不很正常吗,2个月开实习证明,这个薪资也还算合理,深圳Java好多150不包吃不包住呢,而且也提前和你说了没有转正机会,现在贼多牛马公司骗你说毕业转正,你辛辛苦苦干了半年拿到毕业证,后面和你说没hc了😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务