前言
这道题在力扣中是一道中等题,题目见下:
我在这里并不是在刷力扣,因为我只是做题,但并不按照题目要求的时间复杂度来解题。
正文
下面我将详细介绍我关于这题的解法。
我的思路其实很简单,就是想着怎么不费脑子怎么来,这里的“脑子”指的是我的脑子,至于电脑的脑子——时间复杂度出于对我脑子的考虑,我就不考虑它了(狗头)。
初步思路
刚开始我是想着遍历所有可能,然后根据判断语句决定是否输出。事实我也是这么干的,代码放在下面:
//双指针法
#include
using namespace std;
void main()
{
int a[] = { -1, 0, 1, 2, -1, -4 };
int n = sizeof(a) / sizeof(int);
for (int i = 0; i < n - 2; i++)
{
for (int j = i + 1; j < n - 1; j++)
{
for (int k = j + 1; k < n; k++)
{
if (a[i] + a[j] + a[k] == 0)
{
cout