美文网首页
2.2.3 无序数组需要排序的最短子数组

2.2.3 无序数组需要排序的最短子数组

作者: RockyLuo_290f | 来源:发表于2019-05-16 03:22 被阅读0次

对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。

给定一个整数数组A及它的大小n,请返回最短子数组的长度。

测试样例:
[1,5,3,4,2,6,7],7
返回:4

public class ShortSubsequence {
    public static int findShortest(int[] A, int n) {
        // write code here
        if(A == null || A.length < 2) return 0;
        
        int[] temp = new int[A.length];
        System.arraycopy(A,0,temp,0,A.length);
        Arrays.sort(temp);
        int left =0;
        int right =A.length -1;
        while( left < A.length && A[left] == temp[left]){
            left++;
        }
        while(right > left && A[right] == temp[right]){
            right--;
        }
        return right-left+1;
    }
    
    public static void main(String[] args) {
        int[] ans = {1,2,3,3,8,9};
        System.out.println(findShortest(ans,6));
    }
}

相关文章

  • 2.2.3 无序数组需要排序的最短子数组

    对于一个无序数组A,请设计一个算法,求出需要排序的最短子数组的长度。 给定一个整数数组A及它的大小n,请返回最短子...

  • LeetCode 刷题总结(8)

    581. 最短无序连续子数组 思路 拷贝把备份排序,然后两个指针,依次从头到尾(i),从尾到头(j)比较排序前后两...

  • 最短无序连续子数组

    题目描述:给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序...

  • 最短无序连续子数组

    题目: 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。...

  • 最短无序连续子数组

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shor...

  • 最短无序连续子数组

    publicintfindUnsortedSubarray(int[]nums){ int[]kk=newint[...

  • 数组6 最短无序连续子数组

    给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到...

  • 待排序的最短子数组

    题目 对于一个数组,请设计一个高效算法计算需要排序的最短子数组的长度。给定一个int数组A和数组的大小n,请返回一...

  • 581.最短无序连续子数组

    581. 最短无序连续子数组 难度简单375收藏分享切换为英文关注反馈 给定一个整数数组,你需要寻找一个连续的子数...

  • TOP 96 - 100

    581. 最短无序连续子数组[https://leetcode-cn.com/problems/shortest-...

网友评论

      本文标题:2.2.3 无序数组需要排序的最短子数组

      本文链接:https://www.haomeiwen.com/subject/sdnvaqtx.html