尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

第30天(中等题 二分查找)

第30天(中等题 二分查找)
📅 发布时间:2026/6/19 19:50:25

打卡第三十天
2道中等题

image

题目:
image

思路:因为正方形中心固定,所以边长越大,包括的点也就越多。问题转换为求正方形的最大边长。若正方形的边长为2r,则所有横坐标的绝对值小于等于 r,且纵坐标的绝对值也小于等于 r 的点都会在正方形里。检查这些点是否有重复标签即可。

代码:

class Solution {
public:int maxPointsInsideSquare(vector<vector<int>>& points, string s) {int ans = 0;// 存储最终结果:正方形内最多能容纳的标签不重复的点数auto check = [&](int size) -> bool{// 定义lambda函数check,用于检查给定边长的正方形是否能容纳标签不重复的点int vis = 0;// 用位掩码记录已经出现的标签,每个bit代表一个字母(a-z)for (int i = 0; i < points.size(); i++){if (abs(points[i][0]) <= size && abs(points[i][1]) <= size) {char c = s[i] - 'a';// 将字符转换为0-25的数字if (vis >> c & 1){return false;// 如果重复出现,返回false}vis |= 1 << c;// 标记该标签已出现(将对应bit设为1)}}ans = __builtin_popcount(vis);// 计算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;// 如果mid满足条件,尝试更大的;否则尝试更小的}return ans;}
};

耗时≈1.5小时 明天继续

相关新闻

  • 腾讯云ubuntu服务器初始化
  • 现实的一切,都是自指自洽的道德因果逻辑态
  • Firefox扩展界面优化与浏览器技术更新

最新新闻

  • MC68060软件包深度解析:浮点库实现与操作系统集成实战
  • C语言数学函数库深度解析:fabs、fmod、hypot的原理、陷阱与工程实践
  • 高中/高三/高考 回忆录
  • 从晶体管到可编程单元:深入解析FPGA芯片的架构层次与设计哲学
  • 02 代码整洁之道阅读笔记
  • 2026年卫生间漏水维修服务适配指南:昆山鼎壹万防水补漏公司及苏州本地服务商综合适配解析 专业防水公司排名推荐(2026年6月防水补漏最新TOP权威排名) - 鼎壹万修缮说

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号