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

LeetCode: 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;
    }


猜你喜欢

转载自blog.csdn.net/qq_43765535/article/details/108694531