2 Sum, 3 Sum and Pythagorean triple 的问题

1. 2 sum

2. 3 sum

3. Pythagorean triple

Find a Pythagorean triplet from an array. c^2 = a^2 + b^2.

void pt(int arr[], int size)
{
	for(int i=0; i<size; i++)
		arr[i] *= arr[i];

	for(int k=size-1; k>=2; k--)
	{
		for(int l=0, r=k-1; l<r;)
		{
			if(arr[k] == arr[l] + arr[r])
			{
				cout<<arr[k]<<" = "<<arr[l++]<<" + "<<arr[r--]<<endl;
			}
			else if(arr[k] > arr[l] + arr[r])
				l++;
			else if(arr[k] < arr[l] + arr[r])
				r--;
		}
	}
}

  


posted @ 2011-11-09 03:26  Sw_R  阅读(166)  评论(0)    收藏  举报