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

对于一个无序数组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));
    }
}

推荐阅读更多精彩内容

  • 1. 有一棵二叉树,请设计一个算法,按照层次打印这棵二叉树。 给定二叉树的根结点root,请返回打印结果,结果按照...
    Crystalajj阅读 3,523评论 0 2
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 2,172评论 0 2
  • 1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不...
    曲终人散Li阅读 2,934评论 0 19
  • 数组是最简单的数据结构,占据连续内存并且按顺序存储。 以下是与数组有关的算法题目。 (1)查询数组中重复数字 算法...
    顽皮的石头7788121阅读 1,602评论 0 0
  • 这周看了鬼脚七的《没事别随便思考人生》,其中一篇关于“爱的压力”的文章感受颇深。 “昔者海鸟止于鲁郊,鲁侯御而殇之...
    张若男90阅读 154评论 0 0
  • 今天是个令我特别难过的日子!是的,我养了两年多的泰迪犬豆豆就在今夜熟睡的时候从沙发上跌落在地板上再也没有了...
    一只不受宠的猪阅读 157评论 0 1
  • 小时候,经常和父母一起看电视剧,剧中放到感人情节时,我常无感,偶尔瞥见母亲红了眼眶,我还会出言不屑“有...
    怂安阅读 96评论 0 0
  • 【原文】秦攻邯郸,十七月不下。庄谓王稽曰:“君何不赐军吏乎?”王稽曰:“吾与王也,不用人言。”庄曰:“不然。父之于...
    眉间山川阅读 537评论 0 3