分组

最优题解

因为要求最小值最大化,所以考虑二分答案
则检查全部k组数字和都大于等于mid是否可行。
可以直接贪心的去取段,如果不满mid就一直取直到满足为止。满足了就截断。
时间复杂度
空间复杂度

int solve(int n, int k, vector<int> &a){
    assert(a.size() == n);
    int l = 0, r = 1e9;
    int ans;
    while(l <= r){
        int cnt = 0;
        int mid = (r+l)>>1;
        int cur = 0;
        for(int i = 0; i < n; ++i){
            cur += a[i];
            if(cur >= mid) cur = 0, cnt++;
        }
        if(cnt >= k) ans = mid, l = mid+1;
        else r = mid-1;
    }return ans;
}
全部评论

相关推荐

11-28 16:00
已编辑
武汉理工大学 Java
想干测开的tomca...:这份简历是“短期项目硬堆中大型系统技术”的“技术炫技式造假模板”,槽点密集到能当反面教材: ### 1. 「项目时长」和「技术密度」严重脱节,造假痕迹焊死在简历上 两个项目时长分别是**3个月、2个月**,但堆了Spring AI、Elasticsearch、MinIO、Kafka、ShardingSphere、Docker、Sentinel等近20个中大型项目才用的技术——正常情况下,光把这些中间件的文档看完+环境搭好,3个月都不够,更别说实现“AI多轮对话、分库分表、RBAC权限、大模型调用”这些功能。 说白了:你这不是“做项目”,是把“后端技术栈清单”往项目里硬塞,明摆着“只调用了API,没碰过核心逻辑”。
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务