c记录第一次C++STL中pair容器的使用
第一次参加Leetcode周赛,结果在第二题中就遇到卡壳,卡了一小时,结果比赛结束后才通过pair容器做出来。
题目如下:
6042. 统计圆内格点数目
- 通过的用户数 2963
- 尝试过的用户数 3691
- 用户总通过次数 3069
- 用户总提交次数 6831
- 题目难度:Medium
给你一个二维整数数组 circles
,其中 circles[i] = [xi, yi, ri]
表示网格上圆心为 (xi, yi)
且半径为 ri
的第 i
个圆,返回出现在 至少一个 圆内的 格点数目 。
注意:
- 格点 是指整数坐标对应的点。
- 圆周上的点 也被视为出现在圆内的点。
题目来源:Leetcode(力扣)
题目链接:https://leetcode-cn.com/contest/weekly-contest-290/problems/count-lattice-points-inside-a-circle/
示例 1:
输入:circles = [[2,2,1]]
输出:5
解释:
给定的圆如上图所示。
出现在圆内的格点为 (1, 2)、(2, 1)、(2, 2)、(2, 3) 和 (3, 2),在图中用绿色标识。
像 (1, 1) 和 (1, 3) 这样用红色标识的点,并未出现在圆内。
因此,出现在至少一个圆内的格点数目是 5 。
我第一次提交的代码及注释:
int countLatticePoints(vector<vector<int>>& circles) {
map<vector<int>,int>m; // 定义map类型变量m,vector<int>存储点的坐标,1表示该点符合要求,0表示该点不符合要求
int x,y,r;
int count = 0;//存储符合要求点的总数
for(int i = 0; i < circles.size(); i++)//遍历数组,得到每个圆的圆心坐标及半径
{