欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1560. 圆形赛道上经过次数最多的扇区

程序员文章站 2024-03-17 21:22:34
...

LeetCode: 1560. 圆形赛道上经过次数最多的扇区

1560. 圆形赛道上经过次数最多的扇区


好像还有种模拟解法。


这题因为一个扇形圈

  1. 我们不需要看中间经过了啥,直接关注起点和终点。
  2. 比如起点从 1 开始,终点为 2,不管走了几圈,1 -> 2 之间经过的次数大于其他的点 3.4…
  3. 如果起点 为 2 ,终点 1,那么就是 2 -> 1 之间的经过的次数大于其他的点。


    public List<Integer> mostVisited(int n, int[] rounds) {
        List<Integer> ans = new ArrayList<>();
        int s = 0;
        int e = rounds.length - 1;

        if(rounds[s] > rounds[e]){
            for (int i = 1; i <= rounds[e]; i++) {
                ans.add(i);
            }
            for (int i = rounds[s]; i <= n; i++) {
                ans.add(i);
            }
        }else {
            // 正常的情况
            for (int i = rounds[s]; i <= rounds[e]; i++) {
                ans.add(i);
            }
        }
        return ans;
    }