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

简述网站制作过程世界500强企业分布

简述网站制作过程,世界500强企业分布,网络企业网站建设方案,网站建设叁金手指花总9【LetMeFly】2251.花期内花的数目:排序 二分 力扣题目链接:https://leetcode.cn/problems/number-of-flowers-in-full-bloom/ 给你一个下标从 0 开始的二维整数数组 flowers ,其中 flowers[i] [starti, endi] 表示第 i 朵花的 花期 从 st…

【LetMeFly】2251.花期内花的数目:排序 + 二分

力扣题目链接:https://leetcode.cn/problems/number-of-flowers-in-full-bloom/

给你一个下标从 0 开始的二维整数数组 flowers ,其中 flowers[i] = [starti, endi] 表示第 i 朵花的 花期 从 starti 到 endi (都 包含)。同时给你一个下标从 0 开始大小为 n 的整数数组 persons ,persons[i] 是第 i 个人来看花的时间。

请你返回一个大小为 n 的整数数组 answer ,其中 answer[i]是第 i 个人到达时在花期内花的 数目 。

 

示例 1:

输入:flowers = [[1,6],[3,7],[9,12],[4,13]], persons = [2,3,7,11]
输出:[1,2,2,2]
解释:上图展示了每朵花的花期时间,和每个人的到达时间。
对每个人,我们返回他们到达时在花期内花的数目。

示例 2:

输入:flowers = [[1,10],[3,3]], persons = [3,3,2]
输出:[2,2,1]
解释:上图展示了每朵花的花期时间,和每个人的到达时间。
对每个人,我们返回他们到达时在花期内花的数目。

 

提示:

  • 1 <= flowers.length <= 5 * 104
  • flowers[i].length == 2
  • 1 <= starti <= endi <= 109
  • 1 <= persons.length <= 5 * 104
  • 1 <= persons[i] <= 109

方法一:排序 + 二分

将所有的开花时间放入一个数组并从小到大排序;将所有的闭花时间也放入一个数组并从小到大排序。

对于某个时刻(某一天),当前盛开的花朵的数量为: 开花时间小于等于当前时间的花数 − 闭花小于等于当前时间前一天的花数 开花时间小于等于当前时间的花数 - 闭花小于等于当前时间前一天的花数 开花时间小于等于当前时间的花数闭花小于等于当前时间前一天的花数

如何快速得到非降序数组 a a a ≤ k \leq k k的元素的个数?二分即可。(C++的upper_bound / Python的bisect_right)

  • 时间复杂度 O ( ( n + m ) log ⁡ n ) O((n + m)\log n) O((n+m)logn),其中 n = l e n ( f l o w e r s ) n = len(flowers) n=len(flowers) m = l e n ( p e o p l e ) m = len(people) m=len(people)
  • 空间复杂度 O ( n ) O(n) O(n),力扣返回值不计入算法空间复杂度

AC代码

C++
class Solution {
public:vector<int> fullBloomFlowers(vector<vector<int>>& flowers, vector<int>& people) {vector<int> start(flowers.size()), end(flowers.size()), ans(people.size());for (int i = 0; i < flowers.size(); i++) {start[i] = flowers[i][0];end[i] = flowers[i][1];}sort(start.begin(), start.end());sort(end.begin(), end.end());for (int i = 0; i < people.size(); i++) {// 到这一天为止的开花总数 - 到这一天的前一天为止的闭花总数int hanagasaku = upper_bound(start.begin(), start.end(), people[i]) - start.begin();  // 花が咲く(はながさく)int hanagatiru = upper_bound(end.begin(), end.end(), people[i] - 1) - end.begin();//  花が散る(はながちる)ans[i] = hanagasaku - hanagatiru;}return ans;}
};
Python

真简!

# from typing import List
# from bisect import bisect_rightclass Solution:def fullBloomFlowers(self, flowers: List[List[int]], people: List[int]) -> List[int]:start = sorted([f[0] for f in flowers])end = sorted([f[1] for f in flowers])return [bisect_right(start, p) - bisect_right(end, p - 1) for p in people]

同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/133378624

http://www.15wanjia.com/news/185732.html

相关文章:

  • wordpress 站外链接上海网站设计外包
  • 做报价在哪个网站询价住房住房和城乡建设部网站首页
  • 合肥建设工程竣工结算备案网站网站建设教程 金旭亮
  • 91关键词seo诊断分析
  • 织梦珠宝网站模板济南网站建设推荐q479185700强涵
  • 资金盘网站建设WordPress+dos漏洞
  • 手机网站开发实例网站建设流费用
  • 网站建设学什么书阿里云做网站教程
  • 建商城网站网站开发价格报表模板
  • 网站建设功能濮阳做网站做的好的公司
  • 做网站的前提成都网站推广公司
  • 如何创建自己的网站平台保定市网站销售和设计
  • 新乡移动网站建设开发商是不是建设单位
  • 温州集团网站建设平台推广方式有哪些
  • 企业网站应该怎么做在线设计网站海报
  • 万润 营销型网站建设外贸订单从哪里接
  • seo整站优化吧网站付费推广竞价
  • 长沙企业建站在线咨询哪个网站可以接任务做兼职
  • 网站建设与管理指什么软件专业网站定制公司
  • 上海做网站公司做网站的公司开发一个平台要多少钱
  • 哪个网站做国内销海外的机关网站建设的请示
  • ssh精品课程网站开发体育新闻最新消息10条
  • 建设部职称评审的网站html网页制作模板代码简单
  • 做网站的每天打电话咋办哈尔滨手机网页制作
  • 太原建站模板那家公司网站做的好
  • 兴国电商网站建设专业团队照片
  • 免费搭建手机自助网站一个app能卖多少钱
  • 用tp框架怎么做网站如何做电影下载网站
  • 重庆智能网站建设多少钱网站建设视频
  • 网站怎么做落款应用公园app制作教程