锯齿排列

Posted nevermorewang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了锯齿排列相关的知识,希望对你有一定的参考价值。

 

 今天碰到一个面试题觉得挺有意思,特来记录一下.
  有一给定数组,按锯齿形状排列数组元素。比如a<b>c<d>e<f>g .... 以此类推。给定数组:{1, 2, 3, 4, 5, 6, 7, 8, 9}, 请编程。
  刚看到这个题目觉得挺新颖的,平常见到都会从大到小或者从小到大,这个来个锯齿的,这不按套路出牌啊。第一眼感觉没思路,想了一下,觉得日常我们排序都是双层循环嵌套,这个究竟特殊在哪儿呢,想了下细节,觉得应该在判断这里,然后就自己在纸上试了一下,没想到还真给蒙对了。遗憾的是纸上手写代码写错了,,,这个,,,
  代码如下:

    /**
     * 锯齿排列数组顺序
     */
    @Test
    public void test1(){
        int[] arr = {1,2,3,4,5,6,7,8,9};

        for(int i=0;i<arr.length-1;i++){
            int z = arr[i];
            if(i%2 == 0){ //小于
                if(arr[i] > arr[i+1]){
                    arr[i] = arr[i+1];
                    arr[i+1] = z;
                }
            }else{ //大于
                if(arr[i] < arr[i+1]){
                    arr[i] = arr[i+1];
                    arr[i+1] = z;
                }
            }

        }

        //打印数组
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i] + ", ");
        }
    }

  跑一下,结果如下:

技术分享图片

  嗯,结果还是正确的,虽然是蒙的。 




以上是关于锯齿排列的主要内容,如果未能解决你的问题,请参考以下文章

html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma

为标签绘制抗锯齿椭圆区域

OpenGL核心技术之抗锯齿

为什么基本的镜面遮光液,而不是锯齿状?

顶点着色器+片段着色器

itertools 排列组合