码迷,mamicode.com
首页 > 其他好文 > 详细

滑动窗口-Moving Stones Until Consecutive II

时间:2020-02-20 17:09:55      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:code   new   ret   arp   alt   class   height   math   csharp   

2020-02-20 16:34:16

问题描述:
技术图片

问题求解:

    public int[] numMovesStonesII(int[] stones) {
        int n = stones.length;
        Arrays.sort(stones);
        int min = n;
        int start = 0;
        for (int end = 0; end < n; end++) {
            while (stones[end] - stones[start] + 1 > n) start += 1;
            int curr = end - start + 1;
            if (curr == n - 1 && stones[end] - stones[start] + 1 == n - 1) 
                curr = Math.min(min, 2);
            else 
                min = Math.min(min, n - curr);
        }
        return new int[]{min, Math.max(stones[n - 1] - stones[1] + 2 - n, stones[n - 2] - stones[0] + 2 - n)};
    }

  

 

滑动窗口-Moving Stones Until Consecutive II

标签:code   new   ret   arp   alt   class   height   math   csharp   

原文地址:https://www.cnblogs.com/hyserendipity/p/12336324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!