牛客 牛牛浇树(差分)
发布日期:2021-07-01 03:35:05
浏览次数:2
分类:技术文章
本文共 1112 字,大约阅读时间需要 3 分钟。
文章目录
1. 题目
链接:
来源:牛客网牛牛现在在花园养了n棵树,按顺序从第1棵到第n棵排列着。
牛牛每天会按照心情给其中某一个区间的树浇水。 例如如果某一天浇水的区间为[2,4],就是牛牛在这一天会给第2棵,第3棵和第4棵树浇水。 树被浇水后就会成长,为了简化问题,我们假设在初始时所有树的高度为0cm。 每过去一天树会自然成长1cm,每次树被浇水后当天会额外成长1cm。 m天中牛牛每天都都会选一个区间[l,r]
对这个区间内的树进行浇水,牛牛想知道m天后有多少棵树的高度为奇数,你能告诉牛牛吗? 2. 解题
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 返回m天后高度为奇数的树的数量 * @param n int整型 * @param m int整型 * @param l int整型vector * @param r int整型vector * @return int整型 */ int oddnumber(int n, int m, vector & l, vector & r) { // write code here vector h(n+2 , 0); for(int i = 0; i < m; ++i) { h[l[i]]++; // 左端点++ h[r[i]+1]--; // 右端点+1 的位置 -- } vector ans(n, m);//初始化为自然长高高度 int sum = 0, count = 0; for(int i = 1; i <= n; ++i) { sum += h[i];//前缀和为浇水长得高度 ans[i-1] += sum; if(ans[i-1]%2)//高度为奇数 count++; } return count; }};
100ms C++
我的CSDN
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
转载地址:https://michael.blog.csdn.net/article/details/111568065 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年05月02日 03时39分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Request_继承体系
2021-07-04
前端权限控制:获取用户信息接口构造数据
2021-07-04
有状态服务和无状态服务
2021-07-04
七牛云存储:断点续传
2021-07-04
字节流复制文本文件【应用】
2021-07-04
字节流复制图片
2021-07-04
其他数字摘要算法实现
2021-07-04
私钥加密私钥解密
2021-07-04
锁的释放流程-ReentrantLock.unlock
2021-07-04
Java判断字符串是否为数字(浮点类型也包括)
2021-07-04
ubuntu opencv-python 安装很慢问题
2019-05-01
MySQL5.7版本修改了my.ini配置文件后mysql服务无法启动问题
2019-05-01
【大数据开发】Java基础 -总结21-Hashmap和HashTable的区别
2019-05-01
Azkaban体系结构
2019-05-01
机器学习之重头戏-特征预处理
2019-05-01
synchronized底层实现及锁的升级、降级
2019-05-01
PermGen space-永久区内存溢出
2019-05-01
Maven继承和聚合
2019-05-01