当前位置: 首页> 文旅> 美景 > 重庆网站设计总部_自己怎么设计公司的logo_软文投放平台有哪些?_市场营销分析案例

重庆网站设计总部_自己怎么设计公司的logo_软文投放平台有哪些?_市场营销分析案例

时间:2025/7/10 21:18:40来源:https://blog.csdn.net/m0_67598823/article/details/146083017 浏览次数:0次
重庆网站设计总部_自己怎么设计公司的logo_软文投放平台有哪些?_市场营销分析案例

题目描述:

给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 inums[i] = [starti, endi] ,其中 starti 是第 i 辆车的起点,endi 是第 i 辆车的终点。

返回数轴上被车 任意部分 覆盖的整数点的数目。

代码思路:

  1. 排序
    • 首先,对输入的二维数组 nums 进行排序,排序的依据是每辆车的起点 starti。这样做的目的是为了能够按顺序处理车辆,使得我们可以有效地跟踪当前被覆盖的数轴区间。
  2. 初始化变量
    • m 初始化为第一辆车的终点 endi,表示当前被覆盖区间的上限。
    • n 初始化为第一辆车的起点 starti,表示当前被覆盖区间的下限。
    • ans 初始化为 0,用于存储最终被覆盖的整数点的数目。
  3. 遍历处理
    • 遍历排序后的车辆数组 sorted_array
    • 对于每一辆车,检查它的起点 sorted_array[i][0] 是否在当前被覆盖区间内(即是否小于等于 m)。
      • 如果是,说明这辆车与当前覆盖区间有重叠部分,因此更新 m 为当前覆盖区间和这辆车终点中较大的那个,以扩展覆盖区间。
      • 如果不是,说明这辆车与当前覆盖区间没有重叠,那么需要计算当前覆盖区间的长度并累加到 ans 中,然后更新 m 和 n 为这辆车的终点和起点,以开始一个新的覆盖区间。
  4. 计算最后一个区间的长度
    • 遍历结束后,需要再加上最后一个覆盖区间的长度,因为在循环中最后一次更新 ans 是在找到一个不与当前区间重叠的新区间时,而最后一个区间之后没有新的区间来触发这个更新。
  5. 返回结果
    • 返回 ans,即数轴上被车辆任意部分覆盖的整数点的总数。

代码实现:

class Solution:def numberOfPoints(self, nums: List[List[int]]) -> int:sorted_array = sorted(nums, key=lambda x: x[0])m=sorted_array[0][1] n=sorted_array[0][0]ans=0# print(sorted_array)for i in range(len(sorted_array)):if sorted_array[i][0]<=m:#相交,保存最大的上限m=max(m,sorted_array[i][1])else:#计算长度ans+=(m-n+1)#保存新的上下限m=sorted_array[i][1]n=sorted_array[i][0] return ans+(m-n+1)

 

关键字:重庆网站设计总部_自己怎么设计公司的logo_软文投放平台有哪些?_市场营销分析案例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: