
思路精析:
自定义结构体解读:
一个点是否在题给正方形中,只取决于其横纵坐标的最大值,记为dis
沟通二位数组points和字符串s的桥梁,就是这个点的序号,记为idx
由此自定义结构体,储存dis 和idx
//其中bool operator部分的功能:重载小于操作符“<”, 使sort(vc.begin(), vc.end());按dis值升序排列
struct Node{
	int dis; int idx;
	bool operator<(const Node& other)const
	{
		return dis < other.dis;
	}
};
vector<Node>vc;集合set的使用解释:
//笔者感觉,对于需要检验重复的问题,这是一种很经典的操作
set<int>st;
if(st.count(s[vc[i].idx]))
{
	if(cur_dis != vc[i].dis) re+=cur;
	return re;
} 
else st.insert(s[vc[i].idx]);初始化:
int maxPointsInsideSquare(vector<vector<int>>& points, string s) {
    int x, y, sz = points.size();
    Node t_node;
	for(int i=0; i<sz; i++)
    {
    	int dis = max(abs(points[i][0]), abs(points[i][1]));
		t_node.dis = dis;
		t_node.idx = i;
		vc.push_back(t_node);
	}
	sort(vc.begin(), vc.end());
}补充说明
用re记录总点数,用cur记录当前dis记录的点的个数
只有在dis相同的点全部符合要求时,才将其加到re上
即 re += cur
int re = 0, cur = 0, cur_dis=-1;
for(int i=0; i<sz; i++)
{
	if(st.count(s[vc[i].idx]))
	{
		if(cur_dis != vc[i].dis) re+=cur;
		return re;
	} 
	else st.insert(s[vc[i].idx]);
	
	if(cur_dis != vc[i].dis){
		re += cur;
		cur = 1;
		cur_dis = vc[i].dis;
	}
	else cur++;
}
return re+cur;//在上述思路基础上,通过不断调试,见到了更多测试数据,由此进一步完善细节
AC代码见下:
class Solution {
private:
	struct Node{
		int dis; int idx;
		bool operator<(const Node& other)const
		{
			return dis < other.dis;
		}
	};
	vector<Node>vc;
	set<char>st;
public:
    int maxPointsInsideSquare(vector<vector<int>>& points, string s) {
        int x, y, sz = points.size();
        Node t_node;
		for(int i=0; i<sz; i++)
        {
        	int dis = max(abs(points[i][0]), abs(points[i][1]));
			t_node.dis = dis;
			t_node.idx = i;
			vc.push_back(t_node);
		}
		sort(vc.begin(), vc.end());
		int re = 0, cur = 0, cur_dis=-1;
		for(int i=0; i<sz; i++)
		{
			if(st.count(s[vc[i].idx]))
			{
				if(cur_dis != vc[i].dis) re+=cur;
				return re;
			} 
			else st.insert(s[vc[i].idx]);
			
			if(cur_dis != vc[i].dis){
				re += cur;
				cur = 1;
				cur_dis = vc[i].dis;
			}
			else cur++;
		}
		return re+cur;
    }
};~ 希望对你有启发 ~

![mac中dyld[99014]: Library not loaded: @rpath/libmysqlclient.24.dylib解决方法](https://i-blog.csdnimg.cn/direct/cecbdffcc5ca4093985174d5f4ca23d8.png)

















