算法
算法
JAVA探索
对知识的贪婪是我前进的动力
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据库单个字段保存多种组合状态的算法设计
需求 有0,1,2,3四种使用场景,一条数据可以支持四种场景的组合场景。要求给出一个场景n,查出支持场景n的所有数据。 分析 首先数字占用空间最小,使用一个二进制超过4位的数来存储支持的场景。四位分别代表一个场景,1表示支持,0表示不支持。 解决方式1 数据量小不适用索引 接收到场景值n后,将1左移(<)n位得到值m,与字段进行&运算,得到的值如果等于m,则命中数据。 场景值n = 1 将1左移n位 得到 m=0000 0010 数据库中的字段 x=0000原创 2020-11-03 20:49:07 · 1336 阅读 · 2 评论 -
算法题汇总
如何设计一个打印整棵树的打印函数 求二叉树最宽的层有多少节点 设一个节点包含父节点、左右节点三个指针,给出一棵树上的节点X,找出X的后继节点(中序的下一个节点,前驱结点是上一个中序节点)。 上题:中序遍历 根节点凹 ...原创 2020-07-21 22:00:53 · 304 阅读 · 0 评论 -
leetcode 146 LRUCache
运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。 写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。 进阶: 你是否可...原创 2020-06-19 15:19:29 · 167 阅读 · 0 评论 -
算法学习笔记
排序算法的特点 选择排序:每次都会把当前范围里的最小的元素选择出来放到范围前一个位置,不断往后缩小这个范围。 冒泡排序:每次排序都会把当前范围最大的元素冒到当前范围的最顶端,不断往前缩小这个范围。 插入排序:每次排序都会将范围之外的下一个元素插入到当前范围重新排序,不断插入下一个元素。 ...原创 2020-06-12 11:06:45 · 395 阅读 · 0 评论
分享