随笔分类 - Algorithm
10只老鼠试毒1000瓶水问题思考笔记
摘要:目录问题描述原理图思想比特世界和物理世界的差异 问题描述 1000瓶水里有一瓶有毒,可以使用10只老鼠去尝毒,当老鼠喝下毒水1个小时后死去,请设计一种方案,能够在1小时找到这瓶毒药。 原理图 如果从二进制编码位的视角来解决这个问题则很简单: 给瓶子和老鼠编号:将1000瓶水编号为0到999。给10只
阅读全文
遗传算法入门
摘要:目录物种进化案例——背包问题第一步 — 初始化第二步 — 适应度评估第三步 — 遗传操作(进化核心:选择、交叉、变异)∞ 循环总结局限性 如果需要建模的问题太复杂,无法套用已知的线性、非线性或随机优化之类的数学式求解方法解决,那么这个时候可以考虑遗传算法(也叫进化算法,Genetic Algorit
阅读全文
奇偶校验——黑白棋通信
摘要:先看一个黑白棋通信游戏: 需要知道这个游戏规则背景: 魔术师和他的徒弟上台表演,下面有三个观众,魔术师蒙住眼睛。 桌子上随机排列七个黑白棋子,魔术师蒙着眼睛,看不到棋子。 徒弟才看完这个七枚棋子后,在最右面也添上一个棋子,与其他棋子并排,这时有八枚棋子,魔术师依然蒙着眼睛。 此时观众可将一枚棋子翻转
阅读全文
贪心算法原理介绍
摘要:目录贪心算法的思想找钱案例问题描述:贪心策略:具体步骤:贪心算法的步骤:代码:测试:注意:优缺点比较 贪心算法(Greedy Algorithm)是一种通过选择当前状态下最优的决策来逐步达成全局最优解的方法。 它的核心思想是:在每一步的决策中,都选择当前看起来最好的选择(即局部最优解),希望通过局部
阅读全文
几种限流器原理介绍
摘要:目录令牌桶算法(Token Bucket)漏桶算法(Leaky Bucket)滑动窗口(Sliding Window)总结练习1 限流器(Rate Limiter)是一种用于控制系统资源利用率和质量的重要机制。它通过限制单位时间内可以执行的操作数量,从而防止系统过载的一种保护服务机制。 不同的需求场
阅读全文
成对的数据流处理经验
摘要:HTTP数据都是成对的,一个request对应一个response. 下面介绍怎么从数据流(回调方式)中处理这种数据。 我的目标是想对请求和响应体的内容进行搜索,如果搜索到指定内容,就报警提示。 但是Burp的插件开发,对接的接口是一个回调函数——processHttpMessage,它和HTTP的
阅读全文
多层Json嵌套对象的解析替换算法流程思考
摘要:目录深度优先搜索 or 广度优先搜索?思路Reference 需求: 如果要处理一个包含多层结构的Json对象,需要将里面的键值对根据需求进行替换,比如这两种场景: 替换键名:例如,将所有的"oldKey"改为"newKey" 替换值:例如,将所有的"oldValue"改为"newValue" 深度
阅读全文
校验码原理介绍
摘要:目录身份证校验码最后一位X ?弃九数 验算法的启发弃九法和同余理论的关系什么是同余理论?为什么需要校验码?身份证的校验码计算步骤(文字描述版):公式描述:实际做一次操作一些常见的应用场景Reference 校验码是指“通过特定算法在原始数据末尾添加的冗余信息,用于检测或纠正数据在传输过程中可能出现的
阅读全文
How to parse OR AND within text
摘要:假设你有一行 String condition = "A or B and C"; 语句,请问怎么做才能变成一行真正的逻辑表达式(能在计算机中运行计算)? Resolution 声明一个List<List<String>>结构; 先分割 or ; 变成 [ A, B and C ] 不包含and的,
阅读全文
浙公网安备 33010602011771号