V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liteyou
V2EX  ›  程序员

最烦教人瞎装 X 的,绝必要戳漏下

  •  
  •   liteyou · 2017-06-07 07:41:22 +08:00 via Android · 12842 次点击
    这是一个创建于 2727 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这篇文章教人聊算法装 x,上来就举了这个例子唬人:
    ![]( http://i4.buimg.com/1949/8f9986a08bf04603.jpg)

    计算机绝大多数处理的数据都不是同时按下电梯按钮的时间戳,却让人去思考“同时”的时间戳怎么处理 ,这不是故意整人吗?
    第 1 条附言  ·  2017-06-07 11:15:57 +08:00
    最后一条回复。

    看到大家的讨论,不知道大家对“同时”的理解,分歧还是很大的。请大家读一下原文:

    “一个在 5 楼的人,和在 1 楼的你同时按下电梯按钮 ... ”,如果你依然觉得这个“同时”二字是准确合理的,请找个人去 5 楼和你一起试试呗。

    我的说法是用“分别”:

    “一个在 5 楼的人,和在 1 楼的你 分别 按下电梯按钮 ... ”
    142 条回复    2017-06-08 16:29:25 +08:00
    1  2  
    xiang880401
        101
    xiang880401  
       2017-06-07 11:12:49 +08:00
    @swulling
    推广到数的概念中,数包含有理数,无理数,因为数无限可分,然后能得出任何两个数不可能相等么?
    nyanyh
        102
    nyanyh  
       2017-06-07 11:13:04 +08:00
    我第一眼还以为是教人怎么装 X11,还想着多数发行版都带桌面了啊
    liteyou
        103
    liteyou  
    OP
       2017-06-07 11:15:15 +08:00
    最后一条回复。

    看到大家的讨论,不知道大家对“同时”的理解,分歧还是很大的。请大家读一下原文:

    “一个在 5 楼的人,和在 1 楼的你同时按下电梯按钮 ... ”,如果你依然觉得这个“同时”二字是准确合理的,请找个人去 5 楼和你一起试试呗。

    我的说法是用“分别”:

    “一个在 5 楼的人,和在 1 楼的你 分别 按下电梯按钮 ... ”
    xiang880401
        104
    xiang880401  
       2017-06-07 11:16:23 +08:00
    @liteyou 用分别也有歧义吧,按照你的思路用 先后 更合适?
    rswl
        105
    rswl  
       2017-06-07 11:16:43 +08:00
    LZ 是没上过学吗 那你看到试卷上的各种奇葩问题你天天怼老师吗
    likai
        106
    likai  
       2017-06-07 11:20:52 +08:00 via iPhone
    实在搞不懂人举个例子来说明算法的概念咋就不对了,
    如果你说的'同时'是时间戳上的同时,几十层楼的写字楼上下班高峰期,每天都能发生这种'同时',
    科普一下算法,难道非得像孔某人一样,茴字有多少种写法?
    xiang880401
        107
    xiang880401  
       2017-06-07 11:21:23 +08:00
    @swulling
    > 1. 连续的不可能同时发生,连续代表无限可分,只有数学上的同时,实际上不可能同时,这也是一个很古老的思考题
    > 2. 但是问题是现实上的时间也是离散的,最小的时间单位是 Planck time,so,物理打败了空想的哲学<_<
    1 是从数学的角度分析的吗?然后 2 是从物理的角度分析的?
    zhujinliang
        108
    zhujinliang  
       2017-06-07 11:31:18 +08:00
    对于电梯调度来说
    按下电梯门的上行或下行按钮后,按钮的指示灯会点亮,所谓同时,就是说多个灯在同一时刻点亮的情况
    heimeil
        109
    heimeil  
       2017-06-07 11:33:10 +08:00 via Android
    这个帖子讨论的是语文,不是算法
    widewing
        110
    widewing  
       2017-06-07 11:34:16 +08:00 via Android
    我觉得楼主不应该开口说话,只要是人类的语言文字即使是法律条文也是包含一定模糊甚至歧义的
    sun019
        111
    sun019  
       2017-06-07 11:34:19 +08:00
    科普文章,LZ 有些较真了
    Artists
        112
    Artists  
       2017-06-07 11:42:07 +08:00
    为什么楼主要将算法局限在计算机科学呢?
    sunber
        113
    sunber  
       2017-06-07 11:42:15 +08:00
    罗辑思维...
    罗胖不做传销真可惜了
    necomancer
        114
    necomancer  
       2017-06-07 11:56:47 +08:00
    各位有考虑到一楼和五楼在重力场中的相对论效应吗?(纯属乱入,顺便装 X
    si
        115
    si  
       2017-06-07 12:06:17 +08:00
    按照这样的理论。
    用分别也不对,不能保证两个人一定在不同时间按下,总不能按下前还先确定有没有人按吧。
    有可能发生的事件,没办法保证不发生啊,遇到同时按下的,用分别就错了。
    并且题目没有指定人是否在电梯前面,如果人里电梯很远也不可能伸手去按电梯按钮。
    如果按钮是触摸的,就不能用按下,总不能用手戳一个洞吧,这不是故意整人吗?
    leekafai
        116
    leekafai  
       2017-06-07 12:15:11 +08:00 via Android
    举例而已啊……这有什么问题吗
    Yc1992
        117
    Yc1992  
       2017-06-07 12:19:17 +08:00   ❤️ 2
    没文化加玻璃心,楼主想必就是那种面试时考一道冒泡排序就要拍桌子走人的那种吧。
    loopio
        118
    loopio  
       2017-06-07 12:29:00 +08:00 via Android
    比如进程共享资源的争夺,两个进程同时申请临界区,如何实现原子操作以及如何将两个原子操作排序。算法没有研究过,才疏学浅。不敢评测。
    padeoe
        119
    padeoe  
       2017-06-07 12:48:26 +08:00 via Android
    操作系统中"同时"这个概念不是很常见吗。特定测量环境下,譬如电梯,又不是天文学时钟,不可能能精确到纳秒吧,及时精确到纳秒,还有更小的度量值可能不相等,因此在电梯例子中同时完全可能。楼主认为作者应该指出这个相同的真实含义,但这些话科普文完全不必要讲啊,因为真正的相同,不存在的,好比世界上没有两个绝对相同的事物,也不妨碍即使法律条文或物理定律都使用"相同"这个词啊。建议多读书,有句话叫做思而不学则殆,楼主就是典型的只思考,不学习的典型症状
    buckyRRRR
        120
    buckyRRRR  
       2017-06-07 12:58:05 +08:00
    我觉得可以理解,毕竟一群面试官不管自己做什么烂玩意,用什么烂技术,面试的时候还不是张口就是算法什么的
    watara
        121
    watara  
       2017-06-07 13:13:05 +08:00
    @BXIA 第一印象我也是认为说的这个,哈哈
    Felix2Yu
        122
    Felix2Yu  
       2017-06-07 13:40:08 +08:00
    如果面前的三部电梯都是完全独立的电梯,跟算法一点关系都没有!
    这不是整人吗!一丁点科学态度都没有!
    slixurd
        123
    slixurd  
       2017-06-07 13:51:18 +08:00
    @swulling 最短测量时间是 planck time,不代表时间就是离散的吧(我不懂物理,就是瞎猜的。。。
    McTaylor
        124
    McTaylor  
       2017-06-07 14:28:29 +08:00
    讨论的是语文不是算法
    linus3389
        125
    linus3389  
       2017-06-07 14:55:26 +08:00
    这不很正常么- -

    你看 leetcode 上不也经常是一些现实中根本遇不到的问题么

    你能说“这题我生活中根本遇不到,出题的装 B ”么?。。。
    st2udio
        126
    st2udio  
       2017-06-07 15:14:30 +08:00
    为什么我完全没看出来毛病在哪里?而且可以理解他截图中所描述的场景,更没看出“同时”是如何唬人的,从文字上来理解,觉得是很正常的一个场景和一段话。不知道 LZ 是如何理解成唬人和故意整人


    反而感觉楼主更会唬人,来来来,秀秀你的 git 仓库再装 X
    st2udio
        127
    st2udio  
       2017-06-07 15:15:25 +08:00
    如果面前的三部电梯都是坏的,跟算法一点关系都没有!
    这不是整人吗!一丁点科学态度都没有!
    swulling
        128
    swulling  
       2017-06-07 15:19:13 +08:00
    @slixurd 测不准原理其实翻译的不好,准确的讲叫做『不确定原理』,也就是说小于普朗克时间是没有意义的。时空本来就是离散的
    andyL
        129
    andyL  
       2017-06-07 15:24:15 +08:00
    楼主只是来泄愤、和罗辑思维做一个了断,虽然我几年不看罗辑思维是因为瞧不上它,但是没有必要这么上纲上线的怼人家。

    人家写文章不至于像写教科书那样,那所有前提、基础定义、简称等东西全部罗列清楚再来和你讲后述的内容。都有个 context 的,自己发现歧义能修正就行了。

    如果小白们自我修正不了,受了,这是罗辑思维和小白们共同的失败。

    罗辑思维大体上确实是不是什么好东西,不过要有自己发现好东西的积极心态和眼光,同时我们大可不必这么喷。
    tidyoux
        130
    tidyoux  
       2017-06-07 15:26:38 +08:00
    罗辑思维...
    是娱乐圈吧...
    FionWay
        131
    FionWay  
       2017-06-07 17:29:54 +08:00
    我不是程序猿,我是产品经理,我的理解是,电梯如何响应请求这并不是“算法”,这是业务逻辑,算法是在业务逻辑的基础上才有的,也就是“实现一个相同的业务可以有不同的算法”。否则我发现,很多时候业务层面的逻辑问题会想推给算法层面,算法层面需要解决的效率问题会推给业务层面。
    不知道这样理解对不对~
    RaynorGu
        132
    RaynorGu  
       2017-06-07 17:38:15 +08:00
    这里的同时是指的同一个输入采集时间段内吧,否则的话,输入总是有先后之分的。
    Sirormy
        133
    Sirormy  
       2017-06-07 18:07:47 +08:00
    鄙人认为这就是个逻辑计算,还上升不到算法的高度。
    asj
        134
    asj  
       2017-06-07 18:34:34 +08:00   ❤️ 3
    有空讨论这种问题,还不如玩玩这个
    http://play.elevatorsaga.com/
    starqoq
        135
    starqoq  
       2017-06-07 19:29:26 +08:00
    A:“我觉得独立思考很重要。”
    B:“为什么这么说?”
    A:“我从逻辑思维节目上看的。”

    A:“为了能和你们交流,我特地去学习了一下算法”
    B:“你是怎么学习的,学了啥呀?”
    A:“什么《算法时代》《人工智能》之类的书我都读过。”
    B:“那你有没有读过《 C++ Prime 》,或者写过代码。”
    A:“那个太难了。不过我觉得我对算法还是挺有了解的。”
    cppgohan
        136
    cppgohan  
       2017-06-07 22:24:31 +08:00
    我自己看没什么问题, 感觉是你较真了.. 别假设别人百分百严谨, 任何人都不会百分百严谨
    msg7086
        137
    msg7086  
       2017-06-07 22:33:03 +08:00
    这些概念都要有一个共同的讨论基础。
    比如你说要完全的、百分之百的「同时」,那就意味着是物理学(?)上最小时间单位以内的同时,就算是电脑也远远到不了这个精度,那我们还谈什么?

    至于宽泛意义上的同时,也即是允许某些误差的「同时」,可以考虑套泊松分布的计算公式。
    mauve
        138
    mauve  
       2017-06-07 23:13:10 +08:00
    这个公众号的受众不是咱们程序员,是大多数非程序员,以及很多“成功学爱好者”、“播客学习者”,不必较真
    yangff
        139
    yangff  
       2017-06-07 23:29:10 +08:00
    “今有 N 电梯停在 1L,每辆电梯荷载 M 人,电梯上下移动一层需要 1 的时间,乘客上下不需要时间,有 P 人需使用电梯,其中第 i 个人在时刻 Ti 到达,期望从从 Si 层到 Di 层,问使得所有人等待时间之和最小之调度”

    “今有 N 电梯停在 1L,每辆电梯荷载 M 人,电梯上下移动一层需要 1 的时间,每个乘客上下需要 1 时间,有 P 人需使用电梯,其中第 i 个人在时刻 Ti 到达,期望从从 Si 层到 Di 层,问使得所有人等待时间之和最小之调度”

    “今有 N 电梯停在 1L,每辆电梯荷载 M 人,电梯上下移动一层需要 1 的时间,电梯停止启动需要电梯上现有人数的时间,每个乘客上下需要 1 时间,有 P 人需使用电梯,其中第 i 个人在时刻 Ti 到达,期望从从 Si 层到 Di 层,问使得所有人等待时间之和最小之调度”

    “今有 N 电梯停在 1L,每辆电梯荷载 M 人,电梯上下移动一层需要 1 的时间,电梯停止启动需要电梯上现有人数的时间,每个乘客上下需要 1 时间,有 P 人需使用电梯,其中第 i 个人在时刻 Ti 顺序到达,期望从从 Si 层到 Di 层,请输出每个时刻的电梯调度,强制在线”

    “今有 N 电梯停在 1L,每辆电梯荷载 M 人,电梯上下移动一层需要 1 的时间,电梯停止启动需要电梯上现有人数的时间,每个乘客上下需要 1 时间,有 P 人需使用电梯,其中第 i 个人在时刻 Ti 顺序到达,期望从从 Si 层到 Di 层,问使得实际所有人等待时间之和与最优情况下所有人等待时间之和的差最小的调度,请输出每个时刻的电梯调度,输出这个时刻的调度后才会告诉你之后一个时刻的乘客到来情况”


    “今有 N 电梯停在 1L,每辆电梯荷载 M 人,电梯上下移动一层需要 1 的时间,电梯停止启动需要电梯上现有人数的时间,每个乘客上下需要 1 时间,有 P 人需使用电梯,其中第 i 个人在时刻 Ti 顺序到达,期望从从 Si 层到 Di 层,但是现在只告诉你方向,问使得实际所有人等待时间之和与最优情况下所有人等待时间之和的差最小的调度,一旦电梯到达某层,在该层下电梯的人会全部下电梯,在该层等待的人会按照到达顺序依次填满电梯,请输出每个时刻的电梯调度,输出这个时刻的调度后才会告诉你之后一个时刻的乘客到来情况,以及最新进来电梯人所想要到达的楼层”

    不好意思,都是算法。
    nodeath
        140
    nodeath  
       2017-06-08 10:00:30 +08:00
    @liteyou 你说“同时”是你自己理解的概念强行认为两者必须在同一时间点触发开关,原作者表示的应该是两者只要在电梯到达楼上或者楼下的运行区间,两者触发了开关。自己钻牛角尖在这里装逼不知道你在想什么,就算时间戳完全相同,不同楼层其权重也是不一样的,不知道有什么问题。
    nws12304508
        141
    nws12304508  
       2017-06-08 10:33:26 +08:00
    楼主没做过多线程 安全相关的吧 就一次资源锁啊 谁先获得锁就给谁 管它实际上谁先按下按钮呢
    leafin
        142
    leafin  
       2017-06-08 16:29:25 +08:00
    @xiang880401 按照量子力学观点,时间和空间都不是连续的,具有“不可再分割”的最小尺度,即普朗克尺度。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   934 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:15 · PVG 06:15 · LAX 14:15 · JFK 17:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.