首页 > 其他分享 >3143. 正方形中的最多点数

3143. 正方形中的最多点数

时间:2024-08-09 08:55:45浏览次数:12  
标签:vis int mid 正方形 3143 点数 points

3143. 正方形中的最多点数


题目链接:3143. 正方形中的最多点数

代码如下:

//参考链接:https://leetcode.cn/problems/maximum-points-inside-the-square/solutions/2775310/er-fen-bian-chang-tong-shi-ji-lu-da-an-z-92w5
class Solution
{
public:
	int maxPointsInsideSquare(vector<vector<int>>& points, string s)
	{
		int res = 0;
		function<bool(int)> check = [&](int size)->bool
			{
				int vis = 0;
				for (int i = 0; i < points.size(); i++)
				{
					//判断点是否在正方形中
					if (abs(points[i][0]) <= size && abs(points[i][1]) <= size)
					{
						char c = s[i] - 'a';
						if (vis >> c & 1) { return false; }
						vis |= 1 << c;// 把 c 加入集合
					}
				}
				res = __builtin_popcount(vis);
				return true;
			};
		int left = -1, right = 1'000'000'001;
		while (left + 1 < right)
		{
			int mid = (left + right) / 2;
			(check(mid) ? left : right) = mid;
		}
		return res;
	}
};

标签:vis,int,mid,正方形,3143,点数,points
From: https://blog.csdn.net/weixin_45256307/article/details/141052151

相关文章

  • 浮点数的加减运算
    浮点数的加减运算如果采用大阶码向小阶码看齐的原则,则尾数需要左移,最高有效位被移出,导致结果出错C语言中的浮点数据类型......
  • 浮点数的表示及IEEE754标准
    浮点数的表示浮点数的规格化IEEE754标准移码IEEE754这里有一个需要特别注意的地方,IEEE754中,尾数个位上的1是隐含的IEEE的阶码保留了全0和全1来表示特殊的状态,所以阶码最大值的真值为127,对应机器数为11111110,阶码最小值的真值为-126,对应的机器数为00000001......
  • 18981 正方形和圆
    这个问题可以通过计算正方形和圆的面积并比较它们的大小来解决。正方形的面积可以通过边长的平方来计算,圆的面积可以通过半径的平方乘以π来计���。以下是使用C++的代码实现:#include<iostream>#include<cmath>usingnamespacestd;intmain(){  doubleL,R;  ......
  • 【leetcode详解】正方形中的最多点数【中等】(C++思路精析)
    思路精析:自定义结构体解读:一个点是否在题给正方形中,只取决于其横纵坐标的最大值,记为dis沟通二位数组points和字符串s的桥梁,就是这个点的序号,记为idx由此自定义结构体,储存dis和idx//其中booloperator部分的功能:重载小于操作符“<”,使sort(vc.begin(),vc.end());按dis......
  • LLM场景下常用浮点数介绍
    在计算机中,浮点数的表示基于IEEE754标准,这是最广泛使用的浮点数表示标准。对于一个具体的数值,如10.2345434,它会被分解为符号位、指数位和尾数位。这里以最常见的float32(单精度浮点数)为例来解释这个过程:符号位如果数值是正的,符号位为0;如果数值是负的,符号位为1。对于10.23454......
  • LLM场景下常用浮点数介绍
    在计算机中,浮点数的表示基于IEEE754标准,这是最广泛使用的浮点数表示标准。对于一个具体的数值,如10.2345434,它会被分解为符号位、指数位和尾数位。这里以最常见的float32(单精度浮点数)为例来解释这个过程:符号位如果数值是正的,符号位为0;如果数值是负的,符号位为1。对于10.23454......
  • LLM场景下常用浮点数介绍
    在计算机中,浮点数的表示基于IEEE754标准,这是最广泛使用的浮点数表示标准。对于一个具体的数值,如10.2345434,它会被分解为符号位、指数位和尾数位。这里以最常见的float32(单精度浮点数)为例来解释这个过程:符号位如果数值是正的,符号位为0;如果数值是负的,符号位为1。对于10.23454......
  • LLM场景下常用浮点数介绍
    在计算机中,浮点数的表示基于IEEE754标准,这是最广泛使用的浮点数表示标准。对于一个具体的数值,如10.2345434,它会被分解为符号位、指数位和尾数位。这里以最常见的float32(单精度浮点数)为例来解释这个过程:符号位如果数值是正的,符号位为0;如果数值是负的,符号位为1。对于10.23454......
  • LLM场景下常用浮点数介绍
    在计算机中,浮点数的表示基于IEEE754标准,这是最广泛使用的浮点数表示标准。对于一个具体的数值,如10.2345434,它会被分解为符号位、指数位和尾数位。这里以最常见的float32(单精度浮点数)为例来解释这个过程:符号位如果数值是正的,符号位为0;如果数值是负的,符号位为1。对于10.23454......
  • 动态规划:删除并获得点数
    目录题目描述思路解题过程复杂度Code 题目描述        给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i]-1 和 nums[i]+1 的元素。开始你拥有......