算法题-线段点最多覆盖 发表于 2021-05-19 更新于 2021-05-26 分类于 algorithm 本文字数: 388 阅读时长 ≈ 1 分钟 题目 给定一个有序数组 arr ,代表坐落在 X 轴上的点 给定一个正数K,代表绳子的长度 返回绳子最多压中几个点,即使绳子边缘处被盖住了也算盖住 思路 采用左右指针,指针为数组下标 右指针 - 左指针 = 当前覆盖点数 右指针指向的值 - 左指针指向的值代表坐落在 X 轴上的点的跨度,要小于对于绳子长度 解1234567891011private static int mySolution(int[] arr, int l) { int left = 0, right = 0; int max = 0; while (left < arr.length) { while (right < arr.length && arr[right] - arr[left] <= l) { right++; } max = Math.max(max, right - left++); } return max;}