编程语言为什么不把 leetcode 上面的一些常用的算法集成进内部呢,比如最长公共子序列啊,最长子串 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sanko

编程语言为什么不把 leetcode 上面的一些常用的算法集成进内部呢,比如最长公共子序列啊,最长子串

  •  
  •   Sanko 2021 年 8 月 15 日 4385 次点击
    这是一个创建于 1711 天前的主题,其中的信息可能已经有所发展或是发生改变。
    数组和字符串相关的基础算法
    第 1 条附言    2021 年 8 月 15 日
    我知道标准库,也知道有些第三方库都可以实现
    但是还是想问下各位彦祖为什么编程语言本身不做呢?一个算法最多浪费几 kb 左右的存储空间而已
    出于什么权衡不做或者交给第三方库来做呢
    第 2 条附言    2021 年 8 月 15 日
    感谢各位认真回答的彦祖
    阴阳怪气的爪巴
    37 条回复    2021-08-17 02:22:04 +08:00
    EPr2hh6LADQWqRVH
        1
    EPr2hh6LADQWqRVH  
       2021 年 8 月 15 日 via Android   5
    要你何用
    sutra
        2
    sutra  
       2021 年 8 月 15 日
    不是有很多工具类库么?
    Hsinyao
        3
    Hsinyao  
       2021 年 8 月 15 日 via iPhone
    楼主这个 idea 还挺有意思
    learningman
        4
    learningman  
       2021 年 8 月 15 日 via Android
    然后加多少呢,全加进去全变成内置函数?那一个对象得拖多大一串啊。
    不是有 algorithm.h 嘛,你也可以自己写一个啊,指不定用的人多就成了 C24 标准呢
    ipwx
        5
    ipwx  
       2021 年 8 月 15 日
    如果这两个算法也算是常用需要进库函数,那么有很多很多同样“常用”的算法也得进。

    说白了这俩就是特殊的动态规划而已啊,随手写一个。又不够常用,进库函数没意思。
    Yvette
        6
    Yvette  
       2021 年 8 月 15 日   1
    没理解错的话,标准库不就是干这个的?如果你需要的东西现在标准库里还没有的话,大概率是这个需求不够常见或者不够通用。
    Jooooooooo
        7
    Jooooooooo  
       2021 年 8 月 15 日
    最常用的有, 比如 java, python 自带的 sort 方法都是一种非常高效的 timsort 算法

    但其它不是很常用的一般都是第三方工具库去实现的
    levelworm
        8
    levelworm  
       2021 年 8 月 15 日 via Android
    这是 leetcode 常用吧,现实中不知道是否常用。今天看了三道题,有一道是什么二叉树汇总,就是每个 node 是所有比自己小的 node 之和。这题目仅仅是中等难度但是我真不知道现实中会不会有用。。。
    az467
        9
    az467  
       2021 年 8 月 15 日
    刷题魔怔了属于是
    raaaaaar
        10
    raaaaaar  
       2021 年 8 月 15 日 via Android
    不够常用,通常第三方库有
    Perry
        11
    Perry  
       2021 年 8 月 15 日 via iPhone
    有些题目完全是伪需求,或者现实需求比题目要复杂很多,这种算法很难完全通用。
    Trim21
        12
    Trim21  
       2021 年 8 月 15 日 via Android
    用到的算法是有会的,但是你提到的这种大部分情况也用不上吧…
    Rheinmetal
        13
    Rheinmetal  
       2021 年 8 月 15 日
    不刷题你 1 年都用不到一次聘什么进标准库
    swulling
        14
    swulling  
       2021 年 8 月 15 日 via iPhone
    标准库会放一些工程上常用的算法,但是你提的两个显然不是
    Cu635
        15
    Cu635  
       2021 年 8 月 15 日
    lz 应该知道“标准库”这回事儿吧……
    Sanko
        16
    Sanko  
    OP
       2021 年 8 月 15 日
    @learningman 用的时候可以按需导入呀
    Sanko
        17
    Sanko  
    OP
       2021 年 8 月 15 日
    @Cu635 老哥,我肯定知道啊
    vindurriel
        18
    vindurriel  
       2021 年 8 月 15 日 via iPhone
    因为命中率低 大部分用不上 啊哈哈
    存在已知可解编程问题的最简实现大全这种 repo
    misdake
        19
    misdake  
       2021 年 8 月 15 日
    一点也不常用啊
    ipwx
        20
    ipwx  
       2021 年 8 月 15 日
    @Sanko 全都塞标准库,那运行时和编译速度该多慢啊。当然要第三方独立的库啊

    一个算法几 kb,但像你说的这俩算法都不够通用啊,不常用啊。按你这个标准筛选,找出来的算法都加进去,标准库可以多几百兆,编译速度可以下降一个数量级啊。

    明明手写也就 50 行代码的事情。。。
    ltm
        21
    ltm  
       2021 年 8 月 15 日 via Android   2
    「内卷对人智力和行为的异化」
    learningman
        22
    learningman  
       2021 年 8 月 15 日
    "出于什么权衡不做或者交给第三方库来做呢"
    因为别人觉得没用啊,你觉得有用你自己包装一个开源出来呗,啥叫交给第三方库,三方库又不是标准委员会发外包做的
    msg7086
        23
    msg7086  
       2021 年 8 月 15 日   1
    不如先解释一下编程语言为什么要把 leetcode 的题做进标准库里,而不是先无脑假定应该做进去,然后问为什么不做。
    BiteTheDust
        24
    BiteTheDust  
       2021 年 8 月 15 日
    可以参考 atcoder 他们的库里甚至整合了网络流
    不过从另一个角度来说 leetcode 面相群体是那些找工作面试的人 面试的时候总不能说我调个 leetcode 的库吧
    BiteTheDust
        25
    BiteTheDust  
       2021 年 8 月 15 日
    https://github.com/atcoder/ac-library
    可以看看,其实也没整合几种算法,但是都是比较常用,而且只要知道输入输出就可以的
    Cbdy
        26
    Cbdy  
       2021 年 8 月 15 日
    “一个算法最多浪费几 kb 左右的存储空间而已”
    xylxAdai
        27
    xylxAdai  
       2021 年 8 月 15 日
    因为这些只对刷题的人常用,几 kb 不是空间啊?
    anguiao
       28
    anguiao  
       2021 年 8 月 15 日 via Android
    通用性不够强、使用频率不够高
    c0xt30a
        29
    c0xt30a  
       2021 年 8 月 15 日
    c++: lower_bound, upper_bound, rotate, next_permutation, binary_search, nth_element ...
    witcherhope
        30
    witcherhope  
       2021 年 8 月 15 日
    关键字 leetcode 常用,都说了八股文常用,实际场景能用到的基本都进了标准库,并且一直在迭代。
    agagega
        31
    agagega  
       2021 年 8 月 15 日 via iPhone
    会做,但考虑到通用性会做的比较抽象。楼上有人说了 C++,Ruby 的 Enumerable 也有很多很好用的方法 https://ruby-doc.org/core-3.0.2/Enumerable.html
    zxCoder
        32
    zxCoder  
       2021 年 8 月 15 日 via Android
    因为大多数没用啊………
    musi
        33
    musi  
       2021 年 8 月 15 日
    有些算法只能在刷题时候见到
    James369
        34
    James369  
       2021 年 8 月 15 日
    我认为这些什么 leetcode 啊、设计模式啦、敏捷工程啦,都是些花拳秀脚的玩意,90%情况下是用不到的(或者说自然而然就会了)。 其实都是用来懵人的。
    matrix67
        35
    matrix67  
       2021 年 8 月 15 日
    这个应该就相当于汉语为啥没有一个专有名词描述 “有人会在 V2EX 上问编程语言为什么不把 leetcode 上面的一些常用的算法集成进内部呢” 这种行为。

    但是一旦用的人多了,就会塞到汉语的标准库里,比如黔驴技穷啊,泯然众人啊之类的。

    一个道理。
    cyrivlclth
        36
    cyrivlclth  
       2021 年 8 月 16 日
    github copilot ?
    kilasuelika
        37
    kilasuelika  
       2021 年 8 月 17 日 via Android
    从来没在刷题以外的场景见过需要用这些算法的情况。所以如楼上说的,根本不常用。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5668 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 296ms UTC 06:52 PVG 14:52 LAX 23:52 JFK 02:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86