![]() | 1 evan1 PRO ![]() 完全没有, 我的业务逻辑就是 CRUD. |
2 securityCoding 214 天前 用到几乎为 0 ,倒是时间/空间复杂度在做设计时经常会考虑考虑 |
![]() | 3 wakarimasen 214 天前 没有,没有,没有。 力扣主要是起到筛人的作用 |
![]() | 4 coldle 214 天前 ![]() 拿位运算写状态 |
5 niubilewodev 214 天前 没有。 99.99%的工作不需要什么算法,我同事要是在项目上自己写算法,我第一个反对。 |
6 wuzhewuyou 214 天前 via Android 没有,面试时啃一下 |
![]() | 7 irisdev 214 天前 ![]() dfs 肯定会有,其他基本没用过 |
8 ppxppx 214 天前 via Android ![]() 很多,搞传统算法解决 PCB 布线问题。感觉自己时不时就得造个算法解决问题,不然根本搞不下去。真心累,蛮有压力的,不过也挺有意思。 |
![]() | 9 devfeng 214 天前 ![]() android 开发,最近写过的算法:dfs 查找 View 树,视频片段合并区间 |
10 nightwitch 214 天前 最基本的倒腾遍历树状结构还算常用吧,如果你的代码出现了树状结构或者图这种数据结构的话,肯定会有需求来花式遍历的。 然后什么 LRU 啊,找一堆数据里前 K 个最大的这种还是业务代码会出现的。 Leetcode 经常高频出现的链表有关的题基本不会在工作里出现,链表太少见了 |
![]() | 11 LotusChuan 214 天前 ![]() 唯一一次是查 bug 发现源头是个前人写的二叉树,改成三方库就修好了 |
12 yinmin 214 天前 via iPhone 这个和大学里的高等数学一样呢,工作中多少人会用到高等数学呢(肯定有但不多) |
13 yinmin 214 天前 via iPhone 2000/2010 年代还没这样,为啥最近小十年招聘热衷于这类题目?有一个原因是:有一小撮牛人是从小学初中就开始走 noip-nio-acm 上来的,他们认识这类题目是基础,不会做就不是程序员。 |
14 Bingchunmoli 213 天前 via Android 哈希表算吗 ㄏ |
![]() | 15 Folder 213 天前 还是有些的, 最近在用 C 语言做图像处理相关就要用到各种算法, 要不太慢了. 比如在实现连通组件分析的时候用 two-pass 算法实现, 还用到了 disjoint-set 数据结构, 最后速度比 opencv 还快. |
![]() | 16 MRG0 213 天前 好的库太多了,拿来吧你 |
![]() | 17 songray 213 天前 各种从祖宗节点找重孙节点和从重孙节点找祖宗节点的地方... |
![]() | 18 anviod 213 天前 有的增量更新/同步数据 找出更新前和更新后的差别 需要用到 |
19 sir283 213 天前 via Android 我直接 ctrl c 跟 ctrl v ,完全用不到那种高深的算法,你的就是我的,我的还是我的。 |
![]() | 20 erenming 213 天前 @LotusChuan haha ,说不定其实也不一定是自己写的,大概率是第三方库 copy 过来改的 |
![]() | 21 wyntalgeer 213 天前 用不了一点 |
22 iyiluo 213 天前 递归吧,像菜单,组织树,比较常见 |
23 Dorathea 213 天前 如果只是停留在业务层, 几乎不会用到 都是数据结构+简单的遍历, 少量位操作. 很少用到称得上算法的东西 脱离业务向底层, 又息息相关, 用到的东西几乎全是数据结构+算法 |
![]() | 24 luckyrayyy 213 天前 topk 这种用到过,别的真没 |
![]() | 25 ixixi 213 天前 都是建议同事把自己写的算法改成第三方库。。。 |
26 soulflysimple123 213 天前 最常用的就是各种树形结构的处理,比如本节点可以查看当前节点一直到根节点,当前节点所有子节点的数据之类 |
![]() | 27 asLw0P981N0M0TCC 213 天前 提前 hashMap 存储这种吧 我记得有个题是这样 |
28 csfreshman 213 天前 可以不用,但不能不会 |
29 hmxxmh 213 天前 进去拧螺丝,除了大牛,谁敢说自己写的算法能好过开源的。。所以都是 curd,调调 api ,调调参数 |
![]() | 30 InkStone 213 天前 做算法题很多时候不是为了让你真的在业务中实现那个数据结构,而是让你对自己代码的时间、空间复杂度有个直观的概念。 |
![]() | 31 kilakilia007 213 天前 via Android 拓扑判环,递归,没了 |
![]() | 32 qiuhang 213 天前 真正原样运用的没有,但是对于时间空间复杂度的思考,会潜移默化地表现在日常写业务代码的过程中。然后一些优化思路偶尔也能用上。举个例子,我遇到过个真实需求,给定 500 万个预先处理好的 7 位浮点数,然后输入一个浮点数,算出来有多少个浮点数比它大。因为要用于线上,所以对耗时的要求比较高,需要在 5 毫秒内搞定。常规地去遍历一遍,一一比对,得花两三百毫秒。这个时候力扣那些以空间换时间的思路就能派上用场了。 |
![]() | 33 qiuhang 213 天前 还有就是对于递归的理解,没刷力扣之前,真觉得自己理解了递归,刷完才发现自己原来根本不会用。递归在工作中用到的机会还挺多。 |
34 coderzhangsan 213 天前 主要用来就是筛人,有些功能需要考虑算法设计实现,但是现在 ai 普及,这东西完全交给 ai 去写,所以这块权重又弱了。 |
![]() | 36 meilicat 213 天前 就写了个递归吧 其他的都没用到 |
![]() | 37 xxx78797084 213 天前 手写 parser ( |
38 fulln 213 天前 位运算,前缀树,递归如果也算的话 |
39 Donaldo 213 天前 ![]() 我最经常用的就是二分 |
![]() | 40 axuahui 213 天前 via Android 树。 我再一次业务中的 map 的 key 用了 set 构建它的时候用了树。 时间复杂度 o1 ,写了之后同事都说牛批 |
![]() | 41 rogerer 213 天前 二分,发生在每次定位哪个 commit 改坏了的时候 |
42 ccpp132 213 天前 @yinmin 10 年代已经这样了,这一套从硅谷大厂来的,不是国内的发明。 不过算法其实挺有用的。我有个亲身经历的例子,以前当志愿者给几百个文件排序(物理),采用快排极大的提高了效率。就按一个分界点直接把文件全分两堆再分别排... |
43 1252603486 213 天前 找 bug 的时候二分法用的最多,不过大部分时候没意识到这是个算法,还有如果给一堆文件排序的话,分好几块一起排序快了很多 |
![]() | 44 ooo4 213 天前 dfs |
![]() | 45 HikariLan 213 天前 DFS/BFS 、还有树啊链表啊这类的算法确实会在工作中用一些 像是动态规划这种就基本没用过了,感觉没多少业务用这些 |
![]() | 46 flowel 213 天前 ![]() 学算法的目的,是在你真正遇到困难的时候,可以知道有什么方法可以解决。虽然真实应用场景可能少,但是你得懂。 |
![]() | 48 pureGirl 213 天前 处理数据递归用的最多,二叉树链表啥的用不到 |
49 shaozelin030405 213 天前 自己写 monorepo 内,包依赖关系的时候会用到图,以及入度出度。 |
50 WorseIsBetter 213 天前 @ccpp132 #42 这让我想起来以前去支教的时候,学校在搞「趣味教学」,每个学科不定期都有以小组活动为形式锻炼思维能力的课程安排。 有一次二年级数学课的内容是四人一组给印有 1~200 数字的卡片排序,比哪一组最快。 最快的一组,把 200 张卡片分了 8 份,先用「简单目测」的方式给每份分别排好序,然后做四次 2-way merge ,最后做一次 4-way merge ,充分发挥了多人协作的优势,把其他小组远远甩在后面。 这还是小朋友们在短短 15 分钟讨论时间,没有参考资料的前提下,自己思考出来的,令我不禁为之折服。可惜我当时没在现场,如果有机会很想和他们好好聊聊。 |
![]() | 52 wallfacer5 213 天前 前段时间用回溯法做了数据匹配。开始自己先写了一遍,后面要 AI 检查修改,比我自己写的要好 |
53 ccpp132 213 天前 @WorseIsBetter 小学生能这么搞确实牛啊。我们当时是测试过,大家觉得分两堆比合并两堆省脑子所以就是快排不是归并了 |
54 Georgedoe 213 天前 大部分是数据结构方面的 , 比如 TreeMap , java 都有实现了 , 了解使用场景就够了 |
55 AkaGhost OP 谢谢各位 受益匪浅 |
58 5waker 210 天前 |
59 ForrestWang 207 天前 之前有个最佳推荐优惠券功能,就是贪心+回溯找出来的 |