二分做法,仅供参考
查看原帖
二分做法,仅供参考
1072677
_Epsilon_楼主2024/7/4 15:27

思路就是找出第二个数之后排序,再查找

#include<bits/stdc++.h>
using namespace std;
int a,b,c,z[8848],l,r,m;
int main()
{
	cin>>a>>b>>c;
	z[0]=a;
	z[1]=b;
	z[2]=c;
	sort(z,z+3);
	l=0;
	r=2;
	while(l<=r)
	{
		m=(l+r+1)/2;
		if(z[m]<b)
		{
			l=m+1;
		}
		else if(z[m]>b)
		{
			r=m-1; 
		}
		else
		{
			cout<<z[m];
			return 0;
		}
	}
	return 0;
}
2024/7/4 15:27
加载中...