题解 | #Where in 和Not in#

输入整型数组和排序标识,对其元素按照升序或降序进行排序

http://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309

import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] arr = new int[n]; for(int i = 0;i < n;i++){ arr[i] = in.nextInt(); } quicksort(arr,0,n-1); int flag = in.nextInt(); if(flag == 0){ for(int i = 0;i< n;i++){ System.out.print(arr[i]+" "); } } else if(flag == 1){ for(int i = n - 1;i >= 0;i--){ System.out.print(arr[i]+" "); } }

}
public static void quicksort(int[] arr,int l,int r){
    if(l >= r) return ;
    int idx = help(arr,l,r);
    quicksort(arr,l,idx-1);
    quicksort(arr,idx +1,r);
}
public static int help(int[] arr,int l,int r){
    int k = arr[r];
    int low = l;
    int high = r - 1;
    while(low <= high){
        if(arr[low] <= k){
            low ++;
        }else if(arr[high] > k){
            high --;
        }else{
            int cur = arr[low];
            arr[low] = arr[high];
            arr[high] = cur;
        }
    }
    int temp = arr[low];
    arr[low] = arr[r];
    arr[r] = temp;
    return low;
    
}

}

全部评论

相关推荐

点赞 评论 收藏
分享
04-29 18:07
常州大学 Java
寂静羽翼:兄弟我已经亲身经历了,双非没实习很多大厂还是会给笔试的,可是有的公司笔试做的好也不给面一直卡着,ssob基本看我没实习都拒绝我了,但是每天投满偶尔也能有一两场初创公司的面试,但是薪资基本在五六千
点赞 评论 收藏
分享
沉淀去了,8月是不是机会会多一点,。打招呼300+,就一个小厂面试,聊了十分钟天就让我去了,暑假继续沉淀了,到八月九月冲了
丰川打工祥:我目前的体感是,双非本+一段小厂实习,基本约不到中厂的面。已经开始第二段小厂了。可能的确是最近hc太少了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务