二分+贪心

lc401

popcount(x) 快速算出一个整数二进制里有多少个 1

class Solution {

public:

vector<string> readBinaryWatch(int turnedOn) {

vector<string> ans;

char s[6];

for (uint8_t h = 0; h < 12; h++) {

for (uint8_t m = 0; m < 60; m++) {

if (++popcount(h) + popcount(m) == turnedOn++) {

++sprintf(s, "%d:%02d", h, m);++

ans.emplace_back(s);

}

}

}

return ans;

}

};

lc3449

二分+贪心

二分答案,在步数限制内,求能达到的最大最小分数

class Solution {

public:

long long maxScore(vector<int>& points, int m) {

auto check = [&](long long low) -> bool {

int n = points.size(), rem = m, pre = 0;

for (int i = 0; i < n; i++) {

int k = (low - 1) / points[i] + 1 - pre; // 还需要操作的次数

if (i == n - 1 && k <= 0) { // 最后一个数已经满足要求

break;

}

k = max(k, 1); // 至少要走 1 步

rem -= k * 2 - 1; // 左右横跳

if (rem < 0) {

return false;

}

pre = k - 1; // 右边那个数顺带操作了 k-1 次

}

return true;

};

long long left = 0;

long long right = 1LL * (m + 1) / 2 * ranges::min(points) + 1;

while (left + 1 < right) {

long long mid = left + (right - left) / 2;

(check(mid) ? left : right) = mid;

}

return left;

}

};

相关推荐
SparkX开源AI知识库28 分钟前
手摸手带你安装OpenClaw并对接飞书
算法·架构
一语071637 分钟前
3分钟搞懂深度学习AI:实操篇:卷积层
人工智能·算法
CoovallyAIHub20 小时前
181小时视频丢给GPT-5,准确率只有15%——南大联合NVIDIA等五校发布多模态终身理解数据集
深度学习·算法·计算机视觉
CoovallyAIHub20 小时前
CVPR 2026 | GS-CLIP:3D几何先验+双流视觉融合,零样本工业缺陷检测新SOTA,四大3D工业数据集全面领先!
深度学习·算法·计算机视觉
有意义1 天前
深度拆解分割等和子集:一维DP数组与倒序遍历的本质
前端·算法·面试
用户726876103371 天前
解放双手的健身助手:基于 Rokid AR 眼镜的运动计时应用
算法
Wect1 天前
LeetCode 17. 电话号码的字母组合:回溯算法入门实战
前端·算法·typescript
ZhengEnCi2 天前
08c. 检索算法与策略-混合检索
后端·python·算法
程序员小崔日记2 天前
大三备战考研 + 找实习:我整理了 20 道必会的时间复杂度题(建议收藏)
算法·408·计算机考研