美文网首页
算法11 抓住波粒二象性的火星人

算法11 抓住波粒二象性的火星人

作者: holmes000 | 来源:发表于2017-10-29 20:25 被阅读0次

题目:小伙伴们发现, 火星人都有神奇的波粒二象性:

单单凭眼睛, 不能准确地判定他们的位置, 还需要用手触摸一下,才能固定他们的位置
单单用手触摸,也不能锁定他们的位置, 还必须 先 看到
火星人的波粒二象性很奇怪, 每一次触摸至少要对应一次预先的看到, 即看到一次, 触摸两次, 第二次的就会失效, 但是先看到 3 次, 再触摸 3 次, 则是有效的
同一个人,在同一个地点的观察和触摸才可以匹配
所以 同学们收集了过去一天内所有的观察和触摸到火星人的记录, 希望发现前一天中 无效的触摸 有多少次.
记录格式为: 用逗号格开的 4 元组. 4 部分的信息分别为: 观察者ID, 观察地点, 当时的动作, 动作发生的时间戳(精确到秒)
例如
1710170708481678574,1895915,click,1508195328
1607272005511968269,1191643,see,1507998070
要求输出的结果为: 一个整数

思路:

public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String msg;
    Map<String, ArrayList<Pos>> watcher = new HashMap<>();
    while ((msg = br.readLine()) != null && !"".equals(msg)) {
        String[] x = msg.split(",", 4);
        String key = x[0] + ":)" + x[1];
        System.out.println("click".equals(x[2]));
        Pos p = new Pos(Long.parseLong(x[3]), "click".equals(x[2]) ? -1: 1);
        if(!watcher.containsKey(key))
            watcher.put(key, new ArrayList<Pos>());
        watcher.get(key).add(p);
    }

    long[] result = {0l};
    watcher.forEach((k, list) -> {
        long[] checker = {0l};
        list.forEach(pos -> {
            if(pos.weight == -1) {
                if(checker[0] == 0) {
                    result[0] += 1;
                    System.out.println("r+1");
                } else {
                    checker[0] -= 1;
                    System.out.println("c-1");
                }
            } else if(pos.weight == 1) {
                checker[0] += 1;
                System.out.println("c+1");
            }
        });
    });
    System.out.println(result[0]);
}

static class Pos {
    public long timeStamp;
    public long weight;

    public Pos(Long timeStamp, long weight) {
        this.timeStamp = timeStamp;
        this.weight = weight;
    }
}

相关文章

  • 算法11 抓住波粒二象性的火星人

    题目:小伙伴们发现, 火星人都有神奇的波粒二象性: 单单凭眼睛, 不能准确地判定他们的位置, 还需要用手触摸一下,...

  • 《度生活》446:阴阳五行与量子波粒二象性

    壬寅壬寅庚子, 早上听到一个很烧脑的知识概念。量子就是波粒二象性。二象性说的是一个东西同时拥有两种性质。波粒二象性...

  • 《球状闪电》里让人细思极恐的科学现象

    波粒二象性,这个现象让人细思极恐,难怪人们说科学的终点是神学的。 对于波粒二象性的解释是,物质既可以作为粒...

  • 波粒二象性

    在物理课中,接触到量子的波粒二象性,量子既是波,又是粒子,还有测不准原理。从此之后,对波粒二象性处于不明觉厉地状态...

  • 从波粒二象性说起

    在量子力学中,关于量子有个显著的特点就是【波粒二象性】,波粒二象性,也可以说是虚实二象性,再进一步也可以说是色空二...

  • 一个小白对量子力学的看法

    我们知道粒子都是具有波粒二象性的。比如光子的干涉和衍射实验证明了光的波粒二象性。电子也是一样的,实验结果...

  • 论点‖《球状闪电》里的波粒二象性

    波粒二象性,这是个让人们细思极恐的科学现象,难怪人们说科学的终点是神学的。 对于波粒二象性常规的解释是,物质既...

  • 波粒二象性……细思则恐1

    让人细思极恐的“波粒二象性”,客观世界到底以什么形式存在 波粒二象性指的是所有的粒子不仅表现出粒子的特性,同时也表...

  • 物质的两面性

    那么我们先看看量子力学的一些现象! 比如微观粒子的波粒二象性,不确定性关系,和量子纠缠! 波粒二象性告诉我们,微观...

  • 在寺院的日子

    波粒二象性 所谓虹化。就是全部波化 所谓金刚。就是全部粒子化

网友评论

      本文标题:算法11 抓住波粒二象性的火星人

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