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

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

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

打卡第十九天
2道中等题

image

题目: 二分查找

image


思路:二分查找&前后加下标的方式省去了边界情况的讨论

不会做...好绕(重点标记一下这题 过两天回头再做一次)

image


代码:

class Solution {
public:vector<int> solveQueries(vector<int>& nums, vector<int>& queries) {unordered_map<int, vector<int>> indices;//哈希表,存储每个数值对应的所有下标for (int i = 0; i < nums.size(); i++) {indices[nums[i]].push_back(i);}//遍历数组,记录每个数值出现的所有位置int n = nums.size();for (auto& [_, p] : indices) {//处理每个数值对应的下标列表// 前后补加一个下标,满足循环数组int i0 = p[0];//第一个出现的下标p.insert(p.begin(), p.back() - n);// 在开头插入最后一个下标减去n(模拟前一个周期)p.push_back(i0 + n);// 在末尾插入第一个下标加上n(模拟下一个周期)}for (int& i : queries) {auto& p = indices[nums[i]];if (p.size() == 3) {//前后循环加本数组一共三次,说明这个数在一次完整数组中只出现一次i = -1;} else {int j = ranges::lower_bound(p, i) - p.begin();i = min(i - p[j - 1], p[j + 1] - i);//计算到左边相同数值和右边相同数值的最小距离}}return queries;}
};


题目:

image


思路:相向双指针&容斥原理
image
image


代码:

class Solution {
public:long long countFairPairs(vector<int>& nums, int lower, int upper) {ranges::sort(nums);//对数组排序auto count = [&](int upper) {//引用方式获取所有外部变量,可内部访问外部的nums数组,计算和小于等于某个值的数对数量,upper是上限值long long res = 0;int i = 0, j = nums.size() - 1;//双指针,i从左边开始,j从右边开始while (i < j) {if (nums[i] + nums[j] <= upper) {res += j - i;i++;} else {j--;}}return res;};return count(upper) - count(lower - 1);//count(upper):计算所有和 ≤ upper 的数对//count(lower-1):计算所有和 ≤ lower-1 的数对//两者相减得到和 ∈ [lower, upper] 的数对数量}
};

耗时≈一小时 明天继续

相关新闻

  • cuda并行计算
  • 文件直链
  • 2025年11月投资纠纷律师评价榜:五强深度对比与数据解析

最新新闻

  • AI in Practice:人机协作缝合带的6个落地场景与实操手册
  • Kinetis K22F低功耗模式下I2S/SAI接口时序分析与工程实践
  • 2026镇江黄金回收哪家好?市区县域正规门店口碑排行出炉 - 资讯速览
  • 论文AI写作怎么过知网?DeepSeek降重方法分享 - 掌桥科研-AI论文写作
  • 天河区大型搬家公司优选 珠江新城体育西全覆盖服务 - 从来都是英雄出少年
  • 2026年6月最新爱彼中国官方售后服务热线网点及客服电话地址 - 亨得利官方服务中心

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 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 号