应该用set解: // 找到插入位置前后的红线 auto it_right = red_lines.lower_bound(x); auto it_left = prev(it_right); // 删除旧的段长 int old_length = *it_right - *it_left; segments.erase(segments.find(old_length)); // 插入新红线后,产生两个新的段长 int left_segment = x - *it_left; int right_segment = *it_right - x; // 更新段长 segments.insert(left_segment); segments.insert(right_segment); // 将新红线位置插入 red_lines.insert(x);
点赞 评论

相关推荐

05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务