美文网首页
2018-04-02

2018-04-02

作者: zhchhhemmm | 来源:发表于2018-04-04 12:52 被阅读0次

算法分析第九题

数字填空 给定N个不同的整数以及一个包含n个空格的序列,每个空格之间事先给定有不等符号。请设计一个算法,将n个整数填入这n个空格中并满足不等号的约束。

例子:

空格: __ < __ > __ < __ < __
数字原序列:4,6,3,1,8
输入后的序列:1,8,3,4,6


老师课堂上说的的思路:
  • 先排序
  • 将最大值插入到第二个空格中
    排序代码:
        int[] a = {4,6,3,1,8};
        Arrays.sort(a);

插入代码:

        ArrayList<Integer> b = new ArrayList<Integer>();
        b.add(1,a[4]);

整体主要代码如下图:

1.png
输出情况:
1 8 3 4 6

但是!!!

这样的写法,很明显,是在已知了几个<>符号的位置,排列方式下完成的
我们能不能让用户来输入这些坑爹的符号,并且依然输出一个满足条件的序列呢??
of course . 是可以滴:

思路:

  • 依然先完成从小到大的排序
  • 遍历,找“>”符号!!为什么要找它呢,因为它和我们的从小到大的序列冲突!!!
  • 每找到一个> 符号,就把当前最大值插入到它的前面~,这样,不就多了一个数了吗? 没关系,因为我们是从小到大排序好的,直接删除最后一个数就行了~
  • 当前最大值,什么叫当前最大值? 就是说,往前插入过的数,就不再是当前最大值啦~;
  • 遍历一圈过后,新的序列就满足要求啦~输出就行了!

上代码: 2.png


样例输入 :
/> < > >/
样例输出
8 > 1 < 6 > 4 > 3

相关文章

  • 2018-04-02

    2018-04-02 王晓艳_6d4c 2018-04-02 00:20 · 字数 98 · 阅读 0 · 日记本...

  • knn约会实例2

    2018-04-02 分析数据:使用Matplotib创建散点图 https://www.cnblogs.com/...

  • 2018-04-02

    2018-04-02 180 戴师傅 简书作者 2018.04.02 21:07 打开App 2018-04-02...

  • 2018-04-02

    2018-04-02 180 戴师傅 简书作者 2018.04.02 22:09 打开App 2018-04-03...

  • 2018-04-02

    嘿,穷小子,2018炒股你得...... 2018-04-02 ​​​​ 因为我没有钱了, 所以出来挣钱了。 ...

  • 2018-04-03

    2018-04-02 想念99 2018-04-03 22:42 · 字数 712 · 阅读 0 · 日记本 上周...

  • 不要浪费自己的人生

    你好,四月!时间可以浪费,人生不能! 晓多 关注 2018-04-02 23:03 · 字数 3754 · 阅读 ...

  • 四月,新的国旗班!

    2018-04-02桂林理工大学国旗班 Apr.1 NO.2 Guilin Polytechnic Univers...

  • 2018-04-02

    2018-04-02 180 戴师傅 简书作者 2018.04.02 20:43 打开App (稻盛哲学学习会)打...

  • 傍晚游开封西湖

    艳阳天边挂,微风拂面颊。 俗气水中取,自在走天涯。 写于2018-04-02 10:15:36

网友评论

      本文标题:2018-04-02

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