当前位置: 首页 > news >正文

第28天(简单题中等题 二分查找)

打卡第二十八天
1道简单题+2道中等题

image

题目:
image

思路:双指针+二分查找

代码:

class Solution {
public:vector<int> kthSmallestPrimeFraction(vector<int>& arr, int k) {const int n = (int)arr.size();// 初始化二分查找的左右边界,分数值范围在0到1之间double l = 0, r = 1.0;// 开始二分查找while (l != r) {double mid = (l+r)/2; // 计算中间值int cnt = 0, i = 0, x = 0, y = 1;// 对每个分母arr[j],统计分子arr[i]使得arr[i]/arr[j] < midfor (int j = 1; j < n; ++j) {// 移动指针i,找到满足arr[i]/arr[j] < mid的最大iwhile ((double)arr[i]/arr[j] < mid) {// 更新当前找到的最大分数(最接近mid的分数)if (arr[i] * y > arr[j] * x) {x = arr[i];y = arr[j];}++i;}cnt += i; // 累计所有满足条件的分数个数}if (cnt == k) {return {x,y}; // 找到正好第k小的分数} else if (cnt < k) {l = mid; // 需要更大的阈值} else {r = mid; // 需要更小的阈值}}return {};}
};

耗时≈一小时 明天继续

http://www.jsqmd.com/news/43055/

相关文章:

  • 基于MIMO系统的SCMA稀疏码多址接入和MPA消息传递算法matlab仿真
  • Node.js服务稳定性保障:从热更新到高可用体系
  • 一次尝试,3个小时90元的主机游玩和F1电影
  • NOIP 模拟赛 8
  • 静态路由的配置
  • 读书笔记:“外部表”的进阶使用,它主要解决了三个核心问题:如何切换文件、多用户怎么办,以及一个非常酷的玩法——把系统命令变成表。
  • [CF 2166D] Marble Council
  • DP 复习
  • 一段话 UOJ
  • PG系列:在 ​​psql​​ 客户端中定义参数与动态赋值
  • CF1375G Tree Modification 题解
  • AI评价11月17号
  • 避雷:aicodemirror.com --- 酒干倘卖无
  • 9-线性学习
  • AT AGC003 题解
  • Oracle故障处理:aix 5.3 ml6安装10.2.0.1 rac报错
  • Hive SQL循环与MapReduce的关系
  • 《算 设》学
  • [GESP202506 二级] 幂和数
  • hive mybatis是否支持动态SQL
  • 一类将度数变为 1/2 的优化建图 笔记
  • 2025.11.17模拟赛
  • 11/17
  • 英语_阅读_Electric cars_待读
  • linux 下中文字体安装.ttf 格式
  • 2025 年锚具厂家 TOP 企业品牌推荐排行榜,预应力锚具 / 五孔锚具 / 低回缩锚具 / 张拉锚具 / 固定端锚具 / 桥梁预应力锚具 / 边坡锚具公司推荐!
  • 2025 年锚具厂家 TOP 企业品牌推荐排行榜,桥梁伸缩缝 / 道路伸缩缝 / 梳齿板伸缩缝推荐这十家公司!
  • 2025 年锚具厂家 TOP 企业品牌推荐排行榜,橡胶支座 / 桥梁支座 / 国标支座 / 滑板支座 / 固定支座 / 弹性支座 / 活动铰支座 / 盆式支座 / 减震支座 / 缓冲支座公司推荐!
  • 软件工程学习日志2025.11.17
  • CSP2025 游记 + whk 期中