小组Java

String  ss=”1,2,9,7,0,5,6,3″;

按照一个最大值一个最小值打印出来。

例如:9,0,7,1,6,2,5,3

1 收藏


直接登录
最新评论
  • 晓雨落风 全栈工程师 2016/06/24

    list = ss.split(“,”)

    list.sort()

    num = len(list)

    for x in range((num+1)/2) :

    print list[num-x-1]

    if x < num-x-1:

    print list[x]

     

    • 晓雨落风 全栈工程师 2016/06/24

      这个回复框怎么把缩进没了。。。。。

      基本思路是先把数组排序,然后用数组长度的一半作为迭代序列(注意数组长度+1)

      然后在循环里先打印一个最大数(索引为 数组长度-i-1)

      再打印一个最小数(注意要判断数组长度为奇数时别打印重复了)

  • 晓雨落风 全栈工程师 2016/06/24

     

  • 画梦 iOS工程师 2016/06/24

    2016-06-24 11:45:30.537 TestDemo[1198:86052] (

        9,

        0,

        7,

        1,

        6,

        2,

        5,

        3

    )

  • Hastings   2016/06/25

    建两个堆,一个最大堆一个最小堆,O(n)

    用两个counter计数,总和小于数组长度时继续执行。

    输出一个最大,输出一个最小…

  • 天绘 实施工程师 2016/06/25

    排序,然后循环两个变量输出数组即可

  • 小小小码农 数据研发工程师 2016/06/27

     

  • 海之乐章 java 2016/06/28

    换成排序好的数组不行吗,按下标打印首位的数字

  • 假装做朋友 运维 2016/06/28

     

  • 少平   2016/09/09

    String result=”1,2,9,7,0,5,6,3,2″;
    //输出如:9,0,7,1,6,2,5,3
    List<String> list = Arrays.asList(result.split(“,”));
    Collections.sort(list,new Comparator<String>() {
    @Override
    public int compare(String s1, String s2) {
    return Integer.parseInt(s2)-Integer.parseInt(s1);
    }
    });
    for(int i=0,j=list.size()-1;i<j;i++,j–){
    System.out.println(list.get(i));
    System.out.println(list.get(j));
    }

  • print(“9,0,7,1,6,2,5,3”);

  • cheong   2016/09/27

    String s = “1,2,9,7,0,5,6,3“;
    List<String> list = new ArrayList<String>();
    for (String string : s.split(“,”)) {
    list.add(string);
    }
    List<String> list2 = new ArrayList<String>();
    while(list.size()>0){
    String max = Collections.max(list);
    String min = Collections.min(list);
    list2.add(max);
    list2.add(min);
    list.remove(max);
    list.remove(min);
    }
    for (int i = 0; i < list2.size(); i++) {
    System.out.print(list2.get(i));
    }

  • hellolittleb 高研 2016/10/11

    用python的话