1、双指针算法思想:将数组排序,从左边开始逐个遍历,对于每个元素 i,分别声明两个数组索引,指囿鹣分胰向元素 i 右侧部分数组的首尾,计算三数之和,并根据和值与目标值的差前后移动两个索引即可,图示相关代码。
2、编写本地测试代码。
3、运行测试代码,观察控制台输出,符合预期,本地测试通过。
4、平台提交算法,测试通过。
5、算法总结:该题目还可以使用暴力算法求解,但时间复杂度为 O(n*n*n) 非常低效,通过排序后使用双指针索引算法,时间复杂度可降为 O(n*n) 。
1、双指针算法思想:将数组排序,从左边开始逐个遍历,对于每个元素 i,分别声明两个数组索引,指囿鹣分胰向元素 i 右侧部分数组的首尾,计算三数之和,并根据和值与目标值的差前后移动两个索引即可,图示相关代码。
2、编写本地测试代码。
3、运行测试代码,观察控制台输出,符合预期,本地测试通过。
4、平台提交算法,测试通过。
5、算法总结:该题目还可以使用暴力算法求解,但时间复杂度为 O(n*n*n) 非常低效,通过排序后使用双指针索引算法,时间复杂度可降为 O(n*n) 。