小公司Scalyr OA Sprint Training

image.png

给你一个array,对每两个相邻位置i,j,认为[i, j]都被遍历到一次,求被遍历次数最多的indices中最小的index。

Solution

  • 在每个开始位置记录+1,结束位置的后一个位置-1。遍历时累计之前的值,得到当前位置的遍历次数,最后找到最大的值的index
public class SprintTraining {
    public static int getMostVisited(int n, List sprints) {
        int[] incremental = new int[n + 2];
        for (int i=0; i maxVal) {
                maxVal = scores[i];
                maxValIndex = i;
            }
        }
        return maxValIndex;
    }
    public static void main(String[] args) {
        int res = getMostVisited(6, Arrays.asList(new Integer[] {2, 4, 1, 3}));
        System.out.println(res); // 2
    }
}

你可能感兴趣的:(小公司Scalyr OA Sprint Training)